gpt4 book ai didi

ASP.Net URL 路由仅在 `runAllManagedModulesForAllRequests` 为真时有效

转载 作者:行者123 更新时间:2023-12-01 22:54:48 27 4
gpt4 key购买 nike

我已经在 IIS 中设置了 URL 路由。当我有 runAllManagedModulesForAllRequests设置为 true,URL 路由有效。

使用以下 web.config(和 runAllManagedModuesForAllRequests 设置为 false)我得到 404:

  <system.web>
<compilation defaultLanguage="c#" debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="UrlRoutingHandler" />
<add name="UrlRoutingHandler"
preCondition="integratedMode"
verb="*"
path="UrlRouting.axd"
type="System.Web.HttpForbiddenHandler,
System.Web, Version=2.0.0.0,
Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
<modules>
<remove name="UrlRoutingModule" />
<add name="UrlRoutingModule"
type="System.Web.Routing.UrlRoutingModule,
System.Web.Routing,
Version=3.5.0.0,
Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
</modules>
</system.webServer>

如何仅为某些请求设置 URL 路由?

我已经在 IIS 7.5 和 IIS 8 中测试了此配置。这是在 Web 表单应用程序中。所有 URL 都演示了 404 行为。

最佳答案

“runAllManagedModulesForAllRequests”为真,意味着 asp.net 处理程序(当然,当您处于集成模式时)将为所有扩展(包括无扩展)触发,如果您没有 aspx 并且它设置为 false,您的模块可以不要处理它。

您无法为要实现的目标设置扩展子集,但您可以在模块中自行过滤以仅处理某些扩展。

关于ASP.Net URL 路由仅在 `runAllManagedModulesForAllRequests` 为真时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17482442/

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