在阅读了一些关于集成管道的文档后,我对 IIS 如何确定何时运行托管模块、托管请求实际上是什么以及如何确定感到困惑,例如:
http://www.iis.net/learn/application-frameworks/building-and-running-aspnet-applications/aspnet-integration-with-iis http://blogs.msdn.com/b/tmarq/archive/2007 /08/30/iis-7-0-asp-net-pipelines-modules-handlers-and-preconditions.aspx
“托管”请求被多次提及。有一个实例解释了托管请求是一个映射到托管处理程序的请求。还有一句话说处理程序是一个“特殊”模块(第二个链接)。
模块被描述为针对每个请求运行的东西,并且处理程序具有指定何时运行的映射(例如,*.aspx 的 HTTP GET)(第二个和第一个链接)。此外,对于模块,execute_request_handler [我假设它是处理程序实际运行的点] 在管道的几个阶段之后(在 begin_request、authenticate、authorize 等之后),这意味着有一个步骤在这之前发生,确定请求是针对托管处理程序的,以便在请求不是针对托管处理程序时禁用具有 preCondition="managedHanlder" 的模块的执行。
我觉得我在这里缺少一些东西,有人可以阐明 preCondition="managedHandler" 究竟是如何工作的吗?