Estoy tratando de realizar algunas acciones al final de cada solicitud. he cambiado el Application_Start() que se genera cuando se crea nuevo proyecto para hacer una prueba:ASP.NET MVC no llama a global.asax 'EndRequest
protected void Application_Start()
{
EndRequest += (s, e) =>
{
Console.Write("fghfgh");
};
RegisterRoutes(RouteTable.Routes);
}
no se llamará La lambda. ¿Alguna idea de por qué?
edición: veo que están haciendo algo similar en SharpArch [http://code.google.com/p/sharp-architecture/] y funciona allí ... Y no, no quieren utilizar un HttpModule.
Edit2: La única solución que he encontrado es utilizar Application_EndRequest en conjunto con un miembro estático privada 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 privada porque parece que la Application_EndRequest que se llama usando diferentes objeto instancia (esto) Esa también puede ser la razón por la cual mi evento (como se describió al principio) no fue convocado.
u shoudl acepta una respuesta – Simon
Puede leer más acerca de por qué actúa así aquí: http://devhawk.net/2009/08/06/I+Hate+Globalasax.aspx –