【问题标题】:ASP.Net URL Routing only works when `runAllManagedModulesForAllRequests` is trueASP.Net URL 路由仅在 `runAllManagedModulesForAllRequests` 为 true 时有效
【发布时间】:2013-07-05 06:29:00
【问题描述】:

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

【问题讨论】:

  • IIS7? IIS7.5? IIS8?哪些网址?无扩展?或者它是一个 ASP.NET MVC 应用程序,在这种情况下你需要注册你的路由。需要更多信息。
  • 在问题正文中添加了几句话来回答您的问题。
  • 无扩展和扩展 URL? IE。 .aspx 而没有 .aspx?
  • 它是无扩展的(没有 .aspx)

标签: asp.net web-config url-routing


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 2012-06-18
    • 2012-09-11
    • 1970-01-01
    相关资源
    最近更新 更多