我正在将 ASP.Net MVC(目前仍为 1.0)与 Castle ActiveRecord 和 NHibernate.Linq 一起使用。在 IIS 6 下一切正常。
但是,我在将我的应用程序部署到 IIS 7 时遇到了问题:ActiveRecord 的 SessionScope.Current 似乎由于某种原因不可用。
有任何想法吗?
我正在将 ASP.Net MVC(目前仍为 1.0)与 Castle ActiveRecord 和 NHibernate.Linq 一起使用。在 IIS 6 下一切正常。
但是,我在将我的应用程序部署到 IIS 7 时遇到了问题:ActiveRecord 的 SessionScope.Current 似乎由于某种原因不可用。
有任何想法吗?
为了在 IIS7 和旧版本上使用相同的 web.config 文件,请将 SessionScopeWebModule 放在这样的部分中:
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ar.sessionscope" type="Castle.ActiveRecord.Framework.SessionScopeWebModule, Castle.ActiveRecord" />
除了原始<system.web>
部分设置:
<configuration>
<system.web>
<httpModules>
<add name="ar.sessionscope" type="Castle.ActiveRecord.Framework.SessionScopeWebModule, Castle.ActiveRecord" />
确保您也设置了<validation validateIntegratedModeConfiguration="false"/>
该<system.webServer>
部分。
如果您使用的是 IIS 7 集成模式,则需要在 system.webServer/modules 部分而不是 system.web/httpModules 中注册 ActiveRecord HttpModule
看