我正在创建一个需要在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);
}
}
此处是指申请,您可以在其中订阅很多活动,包括请求生命周期事件