Iis 7 Castle ActiveRecord:SessionScope.Current在IIS 7下为空
我现在正在使用ASP.NETMVC 1.0和CastleActiveRecord和NHibernate.Linq。在IIS 6下一切正常 但是,我在将我的应用程序部署到IIS 7:ActiveRecord的SessionScope时遇到了一个问题。由于某些原因,Current似乎不可用Iis 7 Castle ActiveRecord:SessionScope.Current在IIS 7下为空,iis-7,castle-activerecord,linq-to-nhibernate,Iis 7,Castle Activerecord,Linq To Nhibernate,我现在正在使用ASP.NETMVC 1.0和CastleActiveRecord和NHibernate.Linq。在IIS 6下一切正常 但是,我在将我的应用程序部署到IIS 7:ActiveRecord的SessionScope时遇到了一个问题。由于某些原因,Current似乎不可用 有什么想法吗?如果使用IIS 7集成模式,则需要在system.webServer/modules部分注册ActiveRecord HttpModule,而不是system.web/httpModules 看 如
有什么想法吗?如果使用IIS 7集成模式,则需要在system.webServer/modules部分注册ActiveRecord HttpModule,而不是system.web/httpModules 看
如果您使用的是IIS 7集成模式,则需要在system.webServer/modules部分注册ActiveRecord HttpModule,而不是system.web/HttpModule 看
为了在IIS7和旧版本上使用相同的web.config文件,请将SessionScopeWebModule放入如下部分:
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ar.sessionscope" type="Castle.ActiveRecord.Framework.SessionScopeWebModule, Castle.ActiveRecord" />
除原始节设置外:
<configuration>
<system.web>
<httpModules>
<add name="ar.sessionscope" type="Castle.ActiveRecord.Framework.SessionScopeWebModule, Castle.ActiveRecord" />
确保您也在该部分中设置了。为了在IIS7和旧版本上使用相同的web.config文件,请将SessionScopeWebModule放入该部分,如下所示:
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ar.sessionscope" type="Castle.ActiveRecord.Framework.SessionScopeWebModule, Castle.ActiveRecord" />
除原始节设置外:
<configuration>
<system.web>
<httpModules>
<add name="ar.sessionscope" type="Castle.ActiveRecord.Framework.SessionScopeWebModule, Castle.ActiveRecord" />
确保您也在该部分中设置了。这完全拯救了我,因为我对每个请求的会话为什么不起作用的原因一无所知。我刚刚从Castle网站复制了该示例。对于Castle 3中出现的任何其他人,该模块现在位于Castle.ActiveRecord.Web中,因此,上面的条目实际上看起来是这样的:这完全救了我,因为我对每个请求的会话为什么不起作用的问题一无所知,我刚刚从Castle网站复制了这个示例。另外,从Castle 3开始,模块现在位于Castle.ActiveRecord.Web中,因此上面的条目实际上是这样的: