【问题标题】:What is the correct usage of "runAllManagedModulesForAllRequests" in ASP.NET MVC2/3?ASP.NET MVC2/3 中“runAllManagedModulesForAllRequests”的正确用法是什么?
【发布时间】:2011-06-01 20:33:32
【问题描述】:

我在<system.WebServer>modules 部分阅读了有关使用runAllManagedModulesForAllRequests 的各种帖子和问题,我担心我使用此设置不正确。

我所有的 ASP.NET MVC 应用程序都是使用 .NET Framework 4.0 和 MVC2 编写的,此外,我们还有一个使用 MVC3 的应用程序的测试版。

这些应用程序部署到运行 Windows 2008R2/IIS7.5 的服务器上。这些站点配置为在 Integrated Pipeline/.NET 4.0 应用程序池中运行。

如果我设置runAllManagedModulesForAllRequests="false",那么我会收到 HTTP 错误 403.14 - 来自 IIS 的禁止错误。如果我将其设置为 true,那么一切都很好。

但是this article 建议这是一件坏事并且可以解决:

在让 MVC 路由正常工作时不要使用 runAllManagedModulesForAllRequests="true"

真的有那么糟糕吗,我应该听从这个建议吗?

【问题讨论】:

  • 如果您不想设置runAllManagedModulesForAllRequests,Microsoft 推出了一个修补程序 (support.microsoft.com/kb/980368)。
  • @Ek0nomik - 是的......我知道所有关于该修补程序的信息 :) - stackoverflow.com/questions/5078459stackoverflow.com/questions/5080837 。我什至收到了一个关于它引起的问题的知识库:support.microsoft.com/kb/2620604
  • 有趣。感谢您发送您的研究。我从不使用 Web.config 来设置页面特定的授权(我只使用授权属性),所以我对修补程序没有任何问题。
  • @Ek0nomik - 这些问题与 980368 QFE 破坏的经典 ASP 和 ASP.NET Forms 应用程序有关,而不是 MVC。 MVC 很好。作为网络托管服务商,这让我们头疼一两。

标签: asp.net asp.net-mvc iis-7 asp.net-4.0 iis-7.5


【解决方案1】:

它有多糟糕取决于网站流量,如果您在高流量网站上工作,我会说不要使用它,并删除不需要的模块。

【讨论】:

  • 考虑了一天你是对的。幸运的是,我目前正在做的大部分事情都不会吸引大量的流量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-10
  • 2011-04-12
  • 1970-01-01
  • 2021-11-21
  • 1970-01-01
  • 2021-07-14
  • 1970-01-01
相关资源
最近更新 更多