【问题标题】:asp.net (and mvc) possible to alter iis rewrite rules from codeasp.net(和 mvc)可以从代码中更改 iis 重写规则
【发布时间】:2011-11-04 01:37:23
【问题描述】:

我知道这已经被问过很多次了,但我还没有看到一个实际的答案——使用 asp.net,可能还有 mvc,是否可以从应用程序中更改重写规则?

对此的正常答案是“使用 mvc 路由”,但据我了解,这会增加原本被视为静态文件的大量开销 - 因此,可以将 IIS 重写用于 css 文件和图像,因为它仍然会表现良好,但您不希望从 mvc/asp.net 应用程序中提供这些静态资源,因为它可能会造成瓶颈。

因此:能够更改 IIS 的规则可能是允许程序创建高性能别名的好方法,而无需手动编辑规则。

有意义吗?

【问题讨论】:

  • 不,它没有。您为自定义 URL 添加路由,而不是为静态资源添加路由。事实上,除非您调整 IIS,否则 IIS 甚至不会为此类请求调用 Asp.Net isapi 处理程序。
  • +1 提到默认情况下不会为静态资源调用 ASP.NET isapi 处理程序。

标签: .net asp.net asp.net-mvc iis routing


【解决方案1】:

您当然可以在 ASP.NET(和 MVC)中修改 Global.asax 文件的 Application_BeginRequest 以执行 URL 重写。您也可以创建一个自定义 HTTP 模块来进行 URL 重写,因为它为您提供了 重新排列它在 IIS 管道中的顺序的额外灵活性。

MVC 路由也适用于您的情况,因为默认情况下 IIS 使用单独的模块来处理对您的静态内容的请求。

【讨论】:

    猜你喜欢
    • 2012-05-31
    • 2020-10-22
    • 1970-01-01
    • 2014-10-24
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    相关资源
    最近更新 更多