如何在INIT()之外注册HTTPApplication事件的处理程序



我正在创建一个需要在ASP.NET请求生命周期的各个阶段运行某些代码的库。

通过覆盖httpapplication.init()编写Web应用程序并在此处注册各种处理程序时,很容易执行此操作。

但是,我想在application_start()期间从库中执行此操作;我不想消费者必须覆盖Init()并从那里调用我的事件设置代码。

有什么方法可以实现这一目标?

这是我理想的设置:

// in the consumer's code
protected void Application_Start()
{
    // should ideally be able to register lifecycle event handlers from the line below
    MyLibrary.Configure(...); 
}

您应该可以做

global.asax

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        MyLib.Configure(this);
    }
}

此处是指申请,您可以在其中订阅很多活动,包括请求生命周期事件

最新更新