我正在创建一个库,需要在ASP.NET请求生命周期的各个阶段运行一些代码。我如何注册处理程序的Init()外的HttpApplication事件()
通过重写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(...);
}
IMO当你的图书馆开始(我_sup pose_它是一个控制库)... HttpApplication.Init()已经过了很长时间...然后他们必须这样做 –
您的库可以不公开用户可以添加到的各种模块(实现了'IHttpModule')吗?组态?这是图书馆进入管道的常用方式,每个模块都是Init'ed –
@Damien_The_Unbeliever:你能用一个例子来回答吗?特别是,我的库如何配置这些模块(这种挂钩到生命周期中只是库的一个功能,只是将整个库作为模块是不够的)。 – ChaseMedallion