小编cod*_*zen的帖子

使用MEF与NHibernate和Castle Windsor

我有一个ASP.Net MVC应用程序,它使用NHibernate进行数据访问.我正在使用Windsor容器来处理向ISession每个控制器注入引用.

这很好用,但现在我想用可插拔的架构扩展我的应用程序,这样我就可以拥有一个核心产品和特定的附加组件.我发现了一篇关于用MEF做这篇文章的精彩文章.

我的问题是如何使温莎容器和MEF容器,生活/工作在一起,这样我才能实现这一目标.格伦·布洛克一篇文章谈到了这个问题.然后结束然后说下一篇文章将告诉你如何做到这一点,但没有第2部分.

有没有人使用ASP.Net MVC,MEF,NHibernate和Castle Windsor创建这样的应用程序?

.net nhibernate asp.net-mvc castle-windsor mef

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

Windows内存分配问题

我目前正在研究malloc()Windows下的实现.但在我的研究中,我偶然发现了困扰我的事情:

首先,我知道在API级别,windows主要使用HeapAlloc()VirtualAlloc()调用来分配内存.我从这里开始收集微软的实现malloc()(包含在CRT中 - C运行时)基本上要求HeapAlloc()块> 480字节,否则管理VirtualAlloc()为小分配分配的特殊区域,以防止碎片.

那一切都很好,很好.但是还有其他一些实现malloc(),例如nedmalloc,它声称比微软快了125%malloc.

所有这些让我想到了一些事情:

  1. 为什么我们不能只召唤HeapAlloc()小块?在碎片方面表现不佳(例如通过"先适合"而不是"最适合")?

    • 实际上,有没有办法知道各种API分配调用的内幕是什么?这将非常有帮助.
  2. 是什么nedmalloc比微软更快malloc

  3. 从上面的内容来看,我的印象是HeapAlloc()/ VirtualAlloc()速度太慢,以至于malloc()只是偶尔调用一次然后管理分配的内存本身要快得多.这个假设是真的吗?或者是malloc()因为碎片而需要的"包装"?有人会认为像这样的系统调用会很快 - 或者至少会有一些想法被放入其中以使它们有效.

    • 如果是真的,为什么会这样呢?
  4. 平均而言,典型malloc调用执行了多少(一个数量级)的内存读/写(可能是已分配段数的函数)?我会直观地说它是一个普通程序的十位,我是对的吗?

windows malloc memory-management dynamic-memory-allocation nedmalloc

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

为什么Direct3D没有它自己的顶点结构?

我一直想知道为什么我们必须始终定义的原因D3DVERTEX.是因为微软希望有机会把它放在一个类和重载运算符中,还是有其他原因?

谢谢

c c++ 3d direct3d vector

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

MSIL是否具有ROL和ROR指令?

我写了一个Int128类型,效果很好。我以为我可以通过一个简单的想法来改进它的性能:改进一些笨拙的换档操作。

因为它们在乘法和除法中大量使用,所以改进会产生连锁反应。因此,我开始创建一个动态方法(低调并高调旋转),只是发现没有OpCodes.Rol或OpCodes.Ror指令。

IL有可能吗?

c# clr cil

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

关于python datetime类型

datetime的类型模块中的等效类型是什么?例:

import datetime
import types
t=datetime.datetime.now()
if type(t)==types.xxxxxx:
    do sth
Run Code Online (Sandbox Code Playgroud)

我没有在datetime类型中找到类型模块的相关类型; 任何人都可以帮助我吗?

python datetime types

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

WCF DataContractSerializer无法获取合同属性...为什么不呢?

我有以下类型,可以在WCF中用作消息合同:

[MessageContract(IsWrapped = true, 
                 WrapperNamespace = "http://example.com/services", 
                 WrapperName = "EchoRequest")]
public class EchoRequest
{
    public EchoRequest() { }
    public EchoRequest(String value)
    {
        Value = value;
    }

    [MessageBodyMember(Name = "Value", 
                       Namespace = "http://example.com/services", 
                       Order = 0)]
    public String Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我使用svcutil.exe生成此类型的代理时,我将获得一个客户端,该客户端能够与托管它的服务进行通信,并且元素上的XML名称空间根据Message Contract属性正确。

当我Message.CreateMessage(...)在其实例上使用时,名称空间将还原为默认名称(http://schemas.datacontract.org/2004/07 / ...)。当我使用的实例时DataContractSerializer,也会发生同样的事情。我尝试将名称空间传递给DataContractSerializer构造函数,并且只有包装器包含在名称空间中:

var requestMessage = new EchoRequest("hello, world!");
var serializer = new DataContractSerializer(typeof(EchoRequest), 
                                            "EchoRequest", 
                                            "http://example.com/services");
var stream = new MemoryStream();
serializer.WriteObject(stream, requestMessage); …
Run Code Online (Sandbox Code Playgroud)

wcf datacontract datacontractserializer messagecontract

4
推荐指数
1
解决办法
3567
查看次数

如果没有找到任何内容,为什么Session.Load <User>(id)不返回null?

当我尝试使用ID加载实体时:

Session.Load<User>(21);
Run Code Online (Sandbox Code Playgroud)

我得到一个'没有给定标识符存在的行'.

在我的代码中,我检查null如:

if(user == null)
Run Code Online (Sandbox Code Playgroud)

我怎么想知道该行是否不存在,或者如何让它返回null呢?

nhibernate

4
推荐指数
1
解决办法
1173
查看次数

使用 System.Collections.Specialized.BitVector32 的问题:一个错误?

我正在尝试进行一个简短的模拟,其中我需要一个小的位数组,并且我选择了 System.Collections.Specialized.BitVector32。

我在单线程对象内运行它,在单线程循环中运行大约 1,000,000 次,每次针对索引 {0,1,2}。

这是代码:

private System.Collections.Specialized.BitVector32 currentCalc 
    = new System.Collections.Specialized.BitVector32();

private void storeInCurrent(int idx, bool val)
{
    currentCalc[idx] = val;
    if (currentCalc[idx] != val)
    {
        throw new Exception("Inconceivable!");
    }
}
Run Code Online (Sandbox Code Playgroud)

据我了解,不应该抛出异常,但有时确实会抛出异常!异常并不是每次都会抛出,但抛出的比例相当高 - 持续 1/6 的时间!(这更奇怪)

我究竟做错了什么?

c#

4
推荐指数
1
解决办法
578
查看次数

IEnumerable <T> Contra-variant怎么样?

这篇文章(http://blogs.msdn.com/b/brada/archive/2005/01/18/355755.aspx)说的IEnumerable<T>是Contra-variant.然而,类型T是共变体,因为它是out参数.那么在什么情况下IEnumerable<T>Contra-variant?

希望我不要混淆!谢谢你的答案提前!

c# generics ienumerable covariance contravariance

4
推荐指数
1
解决办法
2739
查看次数

在C#中从int转换为bool

int vote;

Insertvotes(objectType, objectId , vote, userID); //calling
Run Code Online (Sandbox Code Playgroud)

对于这个方法调用,我想转换votebool.我怎么转换它?

这是方法签名:

 public static bool Insertvotes(int forumObjectType, 
                                int objectId,
                                bool isThumbUp, 
                                int userID) 
{
    // code...
}
Run Code Online (Sandbox Code Playgroud)

c#

4
推荐指数
2
解决办法
399
查看次数