ASP.NET MVC no llama a global.asax 'EndRequest
Estoy intentando realizar algunas acciones al final de cada solicitud. Cambié el Application_Start () que se genera cuando se crea un nuevo proyecto para hacer una prueba:
protected void Application_Start()
{
EndRequest += (s, e) =>
{
Console.Write("fghfgh");
};
RegisterRoutes(RouteTable.Routes);
}
La lambda no será llamada. ¿Alguna idea de por qué?
edit: veo que están haciendo algo similar en SharpArch http: //code.google.com/p/sharp-architecture/] y funciona allí ... Y no, no quiero usar un HttpModule.
edit2: La única solución que encontré es usar Application_EndRequest junto con un miembro estático privado de 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 debe ser privado porque parece que se está llamando a Application_EndRequest utilizando un objeto de instancia diferente (esto). Esa también puede ser la razón de que mi evento (como se describe al principio) no se llame.