我在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>
如何仅为特定请求设置网址?
我在IIS 7.5和IIS 8中测试了此配置。这是在Web表单应用程序中。所有URL都演示了404行为。
答案 0 :(得分:0)
您无法针对您要实现的目标设置扩展的子集,但您可以在模块中自行过滤以仅处理某些扩展。