ASP.NET MVC не вызывает global.asax 'EndRequest

Я пытаюсь выполнить некоторые действия в конце каждого запроса. Я изменил Application_Start (), который генерируется при создании нового проекта, чтобы сделать тест:

protected void Application_Start()
{
    EndRequest += (s, e) =>
    {
        Console.Write("fghfgh");
    };
    RegisterRoutes(RouteTable.Routes);
}

Лямбда не будет вызвана. Есть идеи почему?

редактировать: я вижу, что они делают аналогичные вещи в SharpArch [http://code.google.com/p/sharp-architecture/] и это работает там ... И нет, я не хочу использовать HttpModule.

edit2: Единственный обходной путь, который я нашел, состоит в том, чтобы использовать Application_EndRequest в сочетании с закрытым статическим членом global.asax:

private static WebSessionStorage wss;
protected void Application_Start()
{
    //...
    wss = new WebSessionStorage(this);
    //...
}

protected void Application_EndRequest(object sender, EventArgs e)
{
    wss.EndRequest(sender, e);
}

wss должен быть закрытым, потому что кажется, что Application_EndRequest вызывается с использованием другого объекта экземпляра (this). Это также может быть причиной того, что мое событие (как описано в начале) не было вызвано.

Ответы на вопрос(3)

Ваш ответ на вопрос