使用 IIS 7 的 NHibernate 会话
Posted
技术标签:
【中文标题】使用 IIS 7 的 NHibernate 会话【英文标题】:NHibernate Session with IIS 7 【发布时间】:2009-07-01 17:48:59 【问题描述】:我有一个使用 NHibernate 的 ASP.NET MVC 应用程序,该应用程序在通过 VS2008 虚拟 Web 服务器运行时运行良好,但是当我尝试通过本地 IIS 服务器运行该站点时,我不断收到此 NHibernate 错误:没有会话绑定到当前上下文。我不知道发生了什么。我错过了什么吗?我只是让我的 IIS 默认网站指向运行 Default.aspx 页面的应用程序的 Web 目录。有任何想法吗?谢谢
【问题讨论】:
【参考方案1】:您是否使用 HttpHandler 或 HttpModule 管理上下文?对于这些,IIS7 需要在 web.config 中使用不同的配置组。
<system.webServer>
<modules></modules>
<handlers></handlers>
</system.webServer>
这应该在<system.web />
节点之外。
您可能已经有<httpHandlers />
和<httpModules />
部分,它们适用于 IIS6,但不适用于 IIS7,除非您在旧模式下运行。
如果您在 EndRequest 事件触发时结束会话,也有可能是由对图像或其他静态资源的请求触发的,该请求将在调用您的操作方法之前结束其请求。
【讨论】:
非常感谢!这正好解决了我的问题。谢谢(你的)信息。哈,我刚刚注意到 web.config 文件中有一条关于此的评论。我想我应该看起来更努力。:P以上是关于使用 IIS 7 的 NHibernate 会话的主要内容,如果未能解决你的问题,请参考以下文章