在Global
,作为应用程序的替代方案AutoEventWireups
,似乎为大多数底层应用程序事件(BeginRequest, AuthorizeRequest, Error
等)以及一组异步方法(等)公开了事件AddOnBeginRequestAsync
。但是,我找不到等效的事件ApplicationStart
!
所以我的问题是,是否有订阅该AutoEventWireup
方法Application_(On)Start
所挂钩的“相同”事件?
public class Global : HttpApplication
{
public Global()
{
// I can do this ...
base.BeginRequest += new EventHandler(Global_BeginRequest);
// Or even AddOnBeginRequestAsync();
// But how can I do this?
base.ApplicationStart += new EventHandler(GlobalApplication_Start);
}
protected void Global_BeginRequest(object sender, EventArgs e)
{
// ...
}
protected void Global_ApplicationStart(object sender, EventArgs e)
{
// ...
}
}
(出于兴趣......有没有办法关闭AutoEventWireups
Global.asax?。使用 AutoEventWireup = "false" 属性似乎只适用于 aspx 页面)
编辑- 似乎 ApplicationStart 和 ApplicationEnd “是不代表HttpApplication 事件的特殊方法”。所以我可能完全找错了树。
编辑
Re: 为什么我需要这个?不幸的是,一个公司客户有一个框架,新应用程序需要继承他们的自定义HttpApplication
类,而 FWR,他们HttpApplication
已经实现了 autowireup Application_(On)Start
,这意味着我需要找到另一种方法来覆盖框架连接,以便我可以引导我的IoC 容器和 Automapper 映射。根据 Lloyd 的回答,我也可以在 ctor 中进行引导Init()
,尽管这并不完全相同。最终,我能够更改公司框架以允许多个订阅。