2011-05-12 15 views
5

Estoy trabajando en el proyecto mvcForum (en codeplex) y quiero eliminar la mayor cantidad de código posible del archivo global.asax, principalmente para facilitar la integración mvcForum en la aplicación ASP.NET MVC existente sin cambiar demasiado el código.ASP.NET MVC PostAuthorizeRequest (y otros eventos) que no se activa

Necesito engancharme en los eventos de la aplicación para poder establecer el CultureInfo correcto (dependiendo de la elección de los usuarios, etc.) y otras cosas.

Esto no es un problema con esto en el archivo Global.asax:

protected void Application_PostAuthorizeRequest() { 
     // Some code here! 
} 

Pero cuando intento mover el código a otro lugar, el evento nunca ocurre. Lo que estoy haciendo es la siguiente:

public MVCForumBootstrapper(HttpApplication app) { 
    app.PostAuthorizeRequest += new EventHandler(app_PostAuthorizeRequest); 
} 

Y esto en el Global.asax

protected void Application_Start() { 
     var strapper = new MVCForumBootstrapper(this); 
    } 

Me tipo de esperaba que esto funcione exactamente de la misma manera?

¿Qué estoy haciendo mal/me he perdido?

Gracias, Steen

Respuesta

6

Usted debe hacer esto en el método de Global.asax Init. En Application_Start es demasiado tarde también eventos de enlace:

public override void Init() 
{ 
    base.Init(); 
    var strapper = new MVCForumBootstrapper(this); 
} 
+0

Por supuesto que debería, al igual que en HttpModules. ¡Gracias! –

Cuestiones relacionadas