Настройте управляемый httpmodule из GAC для работы как в классическом, так и в интегрированном режимах

Я разработал настраиваемый управляемый модуль HttpModule (.NET 2), установил его на GAC и добавил его в раздел Modules для IIS 8.5 во всем мире.

Для каждого веб-сайта с интегрированным режимом этот модуль отображается в разделе «Модули» как Inherited и работает так, как разработан для всех веб-приложений .NET 2 и .NET 4 (без изменения каждого из них. сайта Web.Config).

Что касается веб-сайтов в классическом режиме, его там нет, поэтому он недоступен и не работает в классическом веб-приложении.

Я пробовал редактировать applicationHost.config и Web.Config (v2 и v4) каким-либо образом, но результата не было (похоже, для Machine.Config нет места).

Как и где я могу глобально зарегистрировать тот же модуль для работы в классическом режиме без добавления dll в bin и / или редактирования каждого веб-сайта Web.Config?


person Reza Mortazavi    schedule 24.03.2018    source источник


Ответы (1)


ОК, теперь работает. Для справки в будущем:

Я отредактировал C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config и не получил ответа, потому что IIS считывает конфигурацию из 64-битной платформы, поэтому добавление модуля внутри C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config решило проблему.

В качестве альтернативы для AppPools ‹.NET 4, C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config и C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config также должны быть отредактированы.

Для интегрированного режима достаточно добавить настраиваемый модуль через IIS GUI в главный раздел модулей.

В результате один настраиваемый модуль, установленный в GAC, доступен для всех веб-сайтов .NET 2.0 + под IIS, интегрированным и классическим, 32-разрядным и 64-разрядным без необходимости редактировать Web.Config каждого веб-сайта отдельно.

Это особенно полезно для хост-мастеров и администраторов серверов для мониторинга активности веб-сайтов (ошибок, DDOS-атак и т. Д.) Без прямого вмешательства.

person Reza Mortazavi    schedule 24.03.2018