Answers:
模块前提条件:
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模块针对所有内容运行的示例,请参见“ 如何利用IIS集成管道 ”。您也可以使用快捷方式来启用所有托管(ASP.NET)模块,以针对应用程序中的所有请求运行,无论“
managedHandler
”前提条件。要使所有托管模块都能针对所有请求运行,而无需配置每个模块条目以消除“
managedHandler
”前提条件,请使用runAllManagedModulesForAllRequests
以下<modules>
部分中的属性:<modules runAllManagedModulesForAllRequests="true" />
使用此属性时,“
managedHandler
”前提条件无效,并且所有托管模块均针对所有请求运行。
<modules runAllManagedModulesForAllRequests="true">
。但是我现在看到它可能会产生开销。因此,是否有一个特定的模块负责使我能够获取点“”。在MVC WebAPI Url中,而不是仅使用<modules runAllManagedModulesForAllRequests="true">
?例如“ UrlAuthorization”模块吗?