gpt4 book ai didi

asp.net-mvc - 配置托管模块的 Asp.net MVC 错误

转载 作者:行者123 更新时间:2023-12-01 12:01:16 38 4
gpt4 key购买 nike

我有一个自定义身份验证 HttpModule那是相当困难的。但我希望它只针对托管请求运行(而不是针对静态请求)。

Asp.net MVC 自动为 IIS7 网络服务器添加配置部分:

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="ScriptModule" />
<remove name="UrlRoutingModule" />
<add name="ScriptModule"
preCondition="managedHandler"
type="System.Web.Handlers.ScriptModule,..." />
<add name="UrlRoutingModule"
type="System.Web.Routing.UrlRoutingModule,..." />
</modules>
<handlers>
...
</handlers>
</system.webServer>

当我添加自己的模块时,我还设置了它的 preCondition="managedHandler" , 但因为有 runAllManagedModulesForAllRequests="true"在 parent 身上 <module>元素我preCondition被设计忽略(正如我在 MSDN 上阅读的那样)。

当我尝试设置时:

<modules runAllManagedModulesForAllRequests="false">

我得到一个错误。

我还必须在 web.config 中设置什么(其他模块)使此设置生效:

<modules runAllManagedModulesForAllRequests="false">

最佳答案

我认为您收到错误消息是因为您的应用程序依赖于其他一些托管模块( session ),并且该模块被配置为仅针对对托管处理程序的请求运行 (runAllManagedModulesForAllRequests="false")。

您可以尝试以下设置来重新配置 Session 模块以针对所有请求运行

<modules>
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="" />
</modules>

关于asp.net-mvc - 配置托管模块的 Asp.net MVC 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1161351/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com