Прочитав некоторую документацию об интегрированном конвейере, я запутался в том, как 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
"Управляемые" запросы упоминаются несколько раз. Там один экземпляр, где объясняется, что управляемый запрос является запросом, который имеет сопоставление с управляемым обработчиком. Там также цитата, в которой говорится, что обработчик является "специальным" модулем (вторая ссылка).
Модули описываются как что-то, что выполняется для каждого запроса и что у обработчика есть сопоставление, которое указывает, когда оно должно выполняться (например, HTTP GET для *.aspx) (вторая и первая ссылки). Кроме того, для модулей exec_request_handler [который я принимаю как точку, в которой выполняется обработчик фактически) приходит после нескольких этапов конвейера (после begin_request, аутентификации, авторизации и т.д.), Это означает, что есть шаг, который происходит прежде всего, что устанавливает, что запрос предназначен для управляемого обработчика, чтобы отключить выполнение модулей, которые имеют preCondition = "managedHanlder", когда запрос не предназначен для управляемого обработчика.
Я чувствую, что здесь что-то не хватает, может кто-то пролить свет на то, как точно работает preCondition = "managedHandler"?