我正在創建一個庫,需要在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