我希望您能为我提供每个请求的ISession实例,该实例应注入到所有存储库中。以下是我的容器设置:
基于这篇StructureMap的文章http://www.kevinwilliampang.com/2010/04/06/setting-up-asp-net-mvc-with-fluent-nhibernate-and-structuremap/,然而,当它运行时,每个被注入的对象都会创建一个新的Session。我错过了什么吗?(FYI,NHibernateHelper为Nhib设置了配置)
container.AddFacility<FactorySupportFacility>().Register(
Component.For<ISessionFactory>().Instance(NHibernateHelper.GetSessionFactory()).LifeStyle.Singleton,
Component.For<ISession>().LifeStyle.Transient
.UsingFactoryMethod(kernel => kernel.Resolve<ISessionFactory>().OpenSession())
);
//add to the container
container.Register(
Component.For<IActionInvoker>().ImplementedBy<WindsorActionInvoker>(),
Component.For(typeof(IRepository<>)).ImplementedBy(typeof(NHibernateRepository<>))
);
基于这篇StructureMap的文章http://www.kevinwilliampang.com/2010/04/06/setting-up-asp-net-mvc-with-fluent-nhibernate-and-structuremap/,然而,当它运行时,每个被注入的对象都会创建一个新的Session。我错过了什么吗?(FYI,NHibernateHelper为Nhib设置了配置)