我有一个使用 NHibernate 的 ASP.NET MVC 应用程序,该应用程序在通过 VS2008 虚拟 Web 服务器运行时运行良好,但是当我尝试通过本地 IIS 服务器运行该站点时,我不断收到此 NHibernate 错误:没有 session 绑定(bind)到当前上下文.我不知道发生了什么。我错过了什么吗?我只是让我的 IIS 默认网站指向运行 Default.aspx 页面的应用程序的 Web 目录。有任何想法吗?谢谢
最佳答案
您是否使用 HttpHandler 或 HttpModule 管理上下文?对于这些,IIS7 需要在 web.config 中使用不同的配置组。
<system.webServer>
<modules></modules>
<handlers></handlers>
</system.webServer>
这应该超出
<system.web />
节点。你可能有一个
<httpHandlers />
和 <httpModules />
部分已经,除非您在传统模式下运行,否则这些适用于 IIS6,但不适用于 IIS7。如果您在 EndRequest 事件触发时结束 session ,也有可能是由对图像或其他静态资源的请求触发的,该请求将在调用您的操作方法之前结束其请求。
关于asp.net-mvc - 使用 IIS 7 的 NHibernate session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1070467/