【发布时间】:2010-11-02 12:46:15
【问题描述】:
当我将 ISession 生命周期配置为“每个 HTTP 请求”(我正在使用的 Autofac 中的 InstancePerLifetimeScope)时,NHibernate 分析器告诉我我的 Session 正在跨线程使用,这很可能是一个错误。到底是怎么回事? 我习惯于认为我应该将工作单元范围限定为 http 请求,但似乎会话确实被跨线程使用。
本质上,这个“每个 HTTP 请求的 ISession”与 NHibernate 分析器警报冲突。 我哪里错了?
更新:我的 Web.config 中确实有一个 ContainerDisposalModule,因此处置工作正常
【问题讨论】:
-
沉默的反对者请评论您的决定,谢谢!
-
+1 反对反对票。这是一个完全合理的问题。
-
您的 IIS 版本的 Web.config 的正确部分中是否有 ContainerDisposalModule?另一个线程可能是终结器..
标签: nhibernate asp.net-mvc-2 autofac