2011-05-12 16 views
5

我正在開發mvcForum項目(在codeplex上)並且想要從global.asax文件中移除儘可能多的代碼 - 主要是爲了更容易集成mvcForum到現有的ASP.NET MVC應用程序中,而不會改變太多的代碼。ASP.NET MVC PostAuthorizeRequest(和其他事件)沒有觸發

我需要掛鉤到應用程序事件,以便能夠設置正確的CultureInfo(取決於用戶的選擇等)和其他東西。

這不是在Global.asax文件這個問題:

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

但是當我嘗試別的地方移動代碼,事件從未發生過。 我在做什麼是這樣的:

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

這在Global.asax

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

我是種期待這對以完全相同的方式工作?

我做錯了什麼/我錯過了?

感謝,斯蒂恩

回答

6

你應該在Global.asax中的Init方法做到這一點。在Application_Start它太晚太鉤事件:

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

當然,我應該,就像在HttpModules。謝謝! – 2011-05-12 07:46:21