これは私の 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) を使用するように会話を設定すると、Object reference not found が表示されますが、CacheBy を使用しない場合は正常に動作します。これはセッションに入る必要がありますが、なぜこれが機能しないのかよくわかりません。
何か間違ったことをしていますか、それとも StructureMap のバグのように見えますか?