1

我正在将 ASP.Net MVC(目前仍为 1.0)与 Castle ActiveRecord 和 NHibernate.Linq 一起使用。在 IIS 6 下一切正常。

但是,我在将我的应用程序部署到 IIS 7 时遇到了问题:ActiveRecord 的 SessionScope.Current 似乎由于某种原因不可用。

有任何想法吗?

4

2 回答 2

3

为了在 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>部分。

于 2010-04-06T09:38:35.883 回答
1

如果您使用的是 IIS 7 集成模式,则需要在 system.webServer/modules 部分而不是 system.web/httpModules 中注册 ActiveRecord HttpModule

于 2010-04-02T21:22:34.443 回答