3
我有一个场景,我有两个Nhibernate SessionFactorys需要注册StructureMap。只有Foo需要mySessionFactory会话。在StructureMap中命名的singleton实例(多个nHibernate会话工厂)
像这样:
For<ISessionFactory>().Singleton().Use(NHibernateConfiguration.GetDefaultSessionFactory());
For<ISession>().HybridHttpOrThreadLocalScoped().Use(x => x.GetInstance<ISessionFactory>().OpenSession());
For<ISessionFactory>().Singleton().Use(AnotherNHibernateConfiguration.GetDefaultSessionFactory).Named("mySessionFactory");
For<ISession>().HybridHttpOrThreadLocalScoped().Use(x => x.GetInstance<ISessionFactory>("mySessionFactory").OpenSession()).Named("mySession");
For<Foo>()
.Use<Foo>()
.Ctor<ISession>("session").Is(x => x.TheInstanceNamed("mySession"));
的问题是,mySessionFactory这个现在被无处不在的时候我只是想在符使用,其他地方应该用我的未命名实例。
我做错了什么?