【发布时间】: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/5078459 , stackoverflow.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