<modules runAllManagedModulesForAllRequests ="true"/>含义

शेख*_*ेखर 131 asp.net web-config

我想知道是什么意思

<modules runAllManagedModulesForAllRequests="true" />
Run Code Online (Sandbox Code Playgroud)

我使用的是IIS 7.5,我有一个简单的Web应用程序.我是否需要在web.config文件中编写此代码.我还为jquery ajax调用编写了几个http处理程序.我正在使用表单身份验证和asp.net 4.0.

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

Kap*_*wal 120

模块前提条件:

IIS核心引擎使用前提条件来确定何时启用特定模块.例如,性能原因可能确定您只想为也发送到托管处理程序的请求执行托管模块.以下示例(precondition="managedHandler")中的前提条件仅为还由托管处理程序处理的请求启用表单身份验证模块,例如对.aspx或.asmx文件的请求:

<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
Run Code Online (Sandbox Code Playgroud)

如果删除该属性precondition="managedHandler",则表单身份验证也适用于托管处理程序未提供的内容,例如.html,.jpg,.doc,以及经典ASP(.asp)或PHP(.php)扩展.有关启用ASP.NET模块以运行所有内容的示例,请参阅" 如何利用IIS集成管道 ".

您还可以使用快捷方式为应用程序中的所有请求启用所有托管(ASP.NET)模块,而不管" managedHandler"前提条件如何.

要为所有请求启用所有托管模块而不配置每个模块条目以删除" managedHandler"前置条件,请使用runAllManagedModulesForAllRequests以下<modules>部分中的属性:

<modules runAllManagedModulesForAllRequests="true" />    
Run Code Online (Sandbox Code Playgroud)

使用此属性时," managedHandler"前提条件无效,并且所有受管模块都针对所有请求运行.

IIS模块复制概述:前提条件

  • 一个后续问题.我认为也可以启用单独的模块,而不是所有模块.看到我的问题(http://stackoverflow.com/questions/20998816/dot-character-in-mvc-web-api-2-for-request-such-as-api-people-staff-45287),那里的解决方案是添加`<modules runAllManagedModulesForAllRequests ="true">`.但我现在看到它可能会产生开销.那么,是否有一个特定的模块负责我可以启用获取点"." 在MVC WebAPI Url中,而不是仅使用`<modules runAllManagedModulesForAllRequests ="true">`启用它们.例如"UrlAuthorization"模块吗? (6认同)
  • 那么我应该如何决定使用哪个模块以及哪个模块不使用. (3认同)
  • 是的,会有性能问题.你应该使用前提条件. (2认同)