Ninject RequestScope中的Nhibernate会话

时间:2011-06-24 08:01:22

标签: nhibernate ninject

只是一个简单的问题。如果我有这样的约束:

Bind<ISession>().ToMethod(context => context.Kernel.Get<ISessionManager>().GetSession()).InRequestScope();

(假设ISessionManager.GetSession()返回SessionFactory.OpenSession())

我是否需要明确关闭会话?当Ninject认为它超出范围时,它会自动处理吗?

1 个答案:

答案 0 :(得分:2)

如果ISession实现IDisposable,Ninject会调用它,而我认为确实如此。

最新源代码:http://nhibernate.svn.sourceforge.net/viewvc/nhibernate/trunk/nhibernate/src/NHibernate/ISession.cs?revision=5765&view=markup