这是我的 StructureMap 引导:
ObjectFactory.Initialize(factory =>
{
//Business Conversation is per session
factory.ForRequestedType<IConversation>().
TheDefaultIsConcreteType<Conversation>().
CacheBy(InstanceScope.HttpSession);
//Session Factory is life time
factory.ForRequestedType<INHibernateSessionManager>().
TheDefaultIsConcreteType<NHibernateSessionManager>().
CacheBy(InstanceScope.Singleton);
});
var conversation = ObjectFactory.GetInstance<IConversation>();
当我将对话设置为使用 .CacheBy(InstanceScope.HttpSession) 时,我得到找不到对象引用,但是如果我不使用 CacheBy 它工作正常。这需要进入会话,我不确定为什么这不起作用。
我做错了什么还是这似乎是 StructureMap 中的错误?