小编mcl*_*sen的帖子

如何使用C#驱动程序检查MongoDB中是否存在集合?

在C#中是否有任何方法可以检查MongoDB数据库中是否已存在具有特定名称的集合?

c# mongodb mongodb-.net-driver

21
推荐指数
3
解决办法
2万
查看次数

尝试对已标记为删除的注册表项进行非法操作 - 仅在IE中

我有一个Web应用程序在IE中运行时抛出以下错误:

尝试对已标记为删除的注册表项执行非法操作

它在Chrome中运行良好.不幸的是,这是一个生产部署,我无权查看有关错误的更多详细信息.

我在这里阅读了一些与此错误消息相关的信息

http://social.msdn.microsoft.com/Forums/en-US/90e22b43-e24f-44be-9345-ecbade0b32c9/urgent-comexception-illegal-operation-attempted-on-a-registry-key-that-has-被标记换?论坛= commserver2007

和这里

http://blogs.msdn.com/b/distributedservices/archive/2009/11/06/a-com-server-application-may-stop-working-on-windows-server-2008.aspx

这是Windows事件日志,它与这两个链接中描述的内容一致:

在此输入图像描述

但令人困惑的是,为什么只有在使用IE时才会发生这种情况.有任何想法吗?

iis registry internet-explorer key operation

11
推荐指数
3
解决办法
2万
查看次数

/ platform:anycpu32bitpreferred不是option/target:library或/ target:module的有效设置

我创建了一个Windows服务项目,后来决定将其输出类型更改为类库,因此我可以将服务类包含在另一个项目中,该项目将创建.exe作为服务安装.但是现在当我尝试构建第一个项目时,它失败并出现错误:

/ platform:anycpu32bitpreferred不是option/target:library或/ target:module的有效设置

我怎样才能解决这个问题?

.net c# visual-studio-2013

11
推荐指数
1
解决办法
3732
查看次数

如何使用GetMethod进行静态扩展方法

我有一个扩展方法:

public static class StringEx
{
    public static bool Like(this string a, string b)
    {
        return a.ToLower().Contains(b.ToLower());
    }
}
Run Code Online (Sandbox Code Playgroud)

如何使用我的参数通过GetMethod正确反映它?我试过这个没有成功(静态方法有例外):

var like = typeof(StringEx).GetMethod("Like", new[] {typeof(string), typeof(string)});
comparer = Expression.Call(prop, like, value);
Run Code Online (Sandbox Code Playgroud)

.net reflection extension-methods static get-method

8
推荐指数
2
解决办法
4981
查看次数

忽略FileHelpers中的属性

我正在使用FileHelpers将模型导出为CSV.它有[FieldNotInFile()]属性,在导出时排除字段,但我需要使用属性,因为我需要一些其他属性以及另一个仅使用属性的第三方库.

有没有办法让FileHelpers忽略属性?

c# filehelpers attributes

6
推荐指数
2
解决办法
4940
查看次数

3D透视投影的剪辑矩阵

我正在尝试创建一个简单的3D图形引擎,并找到并使用我在这里找到的方程式:http://en.wikipedia.org/wiki/3D_projection#cite_note-0.(我有Dx,Dy,Dz和Bx的计算,By)

我工作,但当我旋转相机时,足够的线条开始飞到整个地方,最终你看到屏幕上的多边形开始回到屏幕的另一侧(你可以去这里:http:// mobile. sheridanc.on.ca/~claassen/3d.html并使用W,A,S和D键旋转相机以查看我在说什么

我读到了这个讨论:如何将3D点转换为2D透视投影?他谈到使用剪辑矩阵,但我仍然有点混淆如何使用一个.此外,我不确定我是否正在使用讨论中所述的"齐次坐标".

3d graphics projection matrix clip

5
推荐指数
1
解决办法
6828
查看次数

在C++中编译时间与运行时多态性的优点/缺点

在C++中,当使用运行时(子类,虚函数)或编译时(模板,函数重载)多态时可以实现相同的功能时,为什么要选择一个而不是另一个?

我认为编译时代的多态性编译代码会更大(为模板类型创建更多的方法/类定义),编译时间会给你更大的灵活性,而运行时会给你"更安全"的多态性(即更难意外使用不正确).

我的假设是否正确?是否还有其他优点/缺点?任何人都可以给出一个具体的例子,其中两个都是可行的选择,但一个或另一个将是一个明显更好的选择?

此外,编译时多态是否会产生更快的代码,因为没有必要通过vtable调用函数,或者这是否会被编译器优化掉?

例:

class Base
{
  virtual void print() = 0;
}

class Derived1 : Base
{
  virtual void print()
  {
     //do something different
  }
}

class Derived2 : Base
{
  virtual void print()
  {
    //do something different
  }
}

//Run time
void print(Base o)
{
  o.print();
}

//Compile time
template<typename T>
print(T o)
{
  o.print();
}
Run Code Online (Sandbox Code Playgroud)

c++ architecture polymorphism

5
推荐指数
1
解决办法
1万
查看次数

malloc()如何知道堆的起始位置?

当OS将进程加载到内存中时,它会将堆栈指针初始化为虚拟地址,它决定堆栈应该进入进程的虚拟地址空间,程序代码使用该寄存器来知道堆栈变量的位置.我的问题是malloc()如何知道堆从哪个虚拟地址开始?堆是否总是存在于数据段的末尾,如果是这样,malloc()如何知道它在哪里?或者它甚至是一个连续的内存区域,还是只是随机穿插在数据部分中的其他全局变量?

c heap malloc

5
推荐指数
1
解决办法
3744
查看次数

为什么BitConverter比直接执行按位操作慢?

我最近对一些代码进行了一些分析,发现调用BitConverter时消耗的CPU占用量最大,如:

return BitConverter.ToInt16(new byte[] { byte1, byte2 });
Run Code Online (Sandbox Code Playgroud)

切换到类似的东西时:

return (short)(byte1 << 8 | byte2);
Run Code Online (Sandbox Code Playgroud)

我注意到性能的巨大提升.

我的问题是为什么使用BitConverter这么慢?我会假设BitConverter本质上是在内部进行相同类型的位移.

c# bit-shift bitconverter

0
推荐指数
2
解决办法
856
查看次数