<模块runAllManagedModulesForAllRequest=“true”/>含义

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (166)

<modules runAllManagedModulesForAllRequests="true" />

我使用的是IIS 7.5,我有一个简单的Web应用程序。我需要在web.config文件中写这个吗?我还为jQueryAjax调用编写了很少的HTTP处理程序。我正在使用表单身份验证和ASP.NET4.0。

我如何确定我必须运行哪个模块,哪个模块不运行?

提问于
用户回答回答于

模块先决条件:

IIS核心引擎使用先决条件来确定何时启用特定模块。例如,性能原因可能会确定您只想对也到托管处理程序的请求执行托管模块。以下示例中的先决条件(precondition="managedHandler")只为托管处理程序(例如.aspx或.asmx文件的请求)也处理的请求启用窗体身份验证模块:<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />如果删除属性precondition="managedHandler"窗体身份验证还适用于托管处理程序(如.html、.jpg、.doc)所不提供的内容,但也适用于典型的ASP(.asp)或PHP(.php)扩展。 还可以使用快捷方式使所有托管(ASP.NET)模块都可以为应用程序中的所有请求运行,而不管“managedHandler“先决条件。使所有托管模块能够运行所有请求,而无需配置每个模块条目以删除“managedHandler“先决条件,使用runAllManagedModulesForAllRequests属性中的<modules>部分:<modules runAllManagedModulesForAllRequests="true" />undefined使用此属性时,“managedHandler“前提条件不起作用,所有托管模块都为所有请求运行。

扫码关注云+社区