我已经在 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 行为。