Пользовательский http-модуль можно зарегистрировать на applicationHost.config. Затем этот модуль используется всеми приложениями IIS на целевой машине.
1) Создайте подписанный проект библиотеки классов с модулем http:
public class ErrorHandlingModule : IHttpModule
{
public void Dispose() { }
public void Init(HttpApplication context)
{
context.Error += new EventHandler(context_Error);
}
void context_Error(object sender, EventArgs e)
{
// handle error
}
}
2) Установите библиотеку классов в GAC, чтобы она могла использоваться всеми приложениями IIS.
3) Установите модуль http в файл applicationHost.config. Этот файл обычно находится в C: \ Windows \ System32 \ inetsrv \ config. К файлам в этой папке могут обращаться только 64-разрядные процессы (такой проблемы нет в 32-разрядных ОС), VS2010 не может их видеть, но Explorer может. Фрагмент applicationHost.config может выглядеть так:
<location path="" overrideMode="Allow">
<system.webServer>
<modules>
<add name="MyModule" preCondition="managedHandler" type="GlobalErrorHandler.ErrorHandlingModule, GlobalErrorHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bfd166351ed997df" />