会话在每个WCF调用方案的会话中关闭

时间:2010-11-19 11:58:11

标签: wcf nhibernate session

我有问题。 我按照wcf调用设置了ma会话管理。 我使用StructureMap作为IoC,我将会话注入到存储库构造函数。

当我收到Session已关闭的异常时,有一种情况。 所以我调试,这是工作流程: 1. SessionFactory.OpenSession() 2.在上下文中保存会话 3. StructureMap从上下文获取会话(For()。使用< _sessionFactory.GetCurrentSession()),并将会话注入我的存储库(此时Session.IsOpen == true) 我正在做一些询问。 5.在查询执行时(抛出异常会话被关闭) 6. WchCall结束 7.来自NHibernateContextManager的Detach(InstanceContext):IExtension被调用(在这个会话中Session.IsOpen == true !!!!) 8.调用Session.Close

此异常仅在一个场景中发生,其他一切正常。

请帮忙。

1 个答案:

答案 0 :(得分:0)

好的,发现了问题。 问题出在这个类的StructureMap轮换中: 我有: ForSingletonOf()使用();

现在更改为: 。对于()使用();