【问题标题】:ASP.NET MVC PostAuthorizeRequest (and other events) not firingASP.NET MVC PostAuthorizeRequest(和其他事件)未触发
【发布时间】:2011-05-12 07:25:17
【问题描述】:

我正在开发 mvcForum 项目(在 codeplex 上)并希望从 global.asax 文件中删除尽可能多的代码 - 主要是为了更容易将 mvcForum 集成到现有的 ASP.NET MVC 应用程序中而无需进行太多更改代码。

我需要挂钩应用程序事件,以便能够设置正确的 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);
    }

我有点期待这会以完全相同的方式工作?

我做错了什么/我错过了什么?

谢谢,斯蒂恩

【问题讨论】:

    标签: asp.net-mvc events global-asax


    【解决方案1】:

    您应该在 Global.asax 的 Init 方法中执行此操作。在Application_Start 中钩事件为时已晚:

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

    【讨论】:

      猜你喜欢
      • 2011-08-10
      • 1970-01-01
      • 2010-09-09
      • 2012-05-06
      • 2023-03-05
      • 2013-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多