Ответ 1
Модули Предпосылки:
Ядро ядра IIS использует предварительные условия, чтобы определить, когда включить конкретный модуль. Например, причины производительности могут определять, что вы хотите выполнять только управляемые модули для запросов, которые также попадают в управляемый обработчик. Предварительное условие в следующем примере (
precondition="managedHandler"
) позволяет только модулю проверки форм для запросов, которые также обрабатываются управляемым обработчиком, например, запросы к файлам .aspx или .asmx:<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
Если вы удаляете атрибут
precondition="managedHandler"
, проверка подлинности с помощью форм также применяется к контенту, который не обслуживается управляемыми обработчиками, такими как .html,.jpg,.doc, но также и для классического ASP (.asp) или PHP (. php). См. "" Как использовать интегрированный трубопровод IIS "на примере включения модулей ASP.NET для запуска всего контента.Вы также можете использовать ярлык, чтобы все управляемые (ASP.NET) модули запускались для всех запросов в вашем приложении, независимо от предварительного условия"
managedHandler
".Чтобы все управляемые модули запускались для всех запросов без настройки каждой записи модуля, чтобы удалить предварительное условие"
managedHandler
", используйте свойствоrunAllManagedModulesForAllRequests
в разделе<modules>
:<modules runAllManagedModulesForAllRequests="true" />
Когда вы используете это свойство, предварительное условие "
managedHandler
" не действует, и все управляемые модули запускаются для всех запросов.
Скопировано из Обзор модулей IIS: предварительные условия