發表文章

目前顯示的是 10月, 2009的文章

實作HttpModule代替Global.asax 處理各項事件

實作 HttpModule 可以取代 Global.asax ,來處理 Request_start 、 Session_Start 或 Application_Error 等事件的處理。看到這裡會有點疑問吧,既然兩者都一樣為何要使用 HttpModule 呢 ? 它的優點在於不必和整個網站挷在一起,不需使用時可以直接在組態檔拿掉。 本例以當網頁發生錯誤時要作該事件的處理 實作步驟 1. 新增類別並實作 HttpModule namespace Kim.Web { public class ErrorModule : IHttpModule { #region IHttpModule 的介面方法 public void Init(HttpApplication application) { //註冊只要網頁發生錯誤的事件處理 application.Error += new EventHandler(application_Error); } public void Dispose() { } #endregion public void application_Error( object sender, EventArgs e) { //主要程式處理 } } } 2.在網站註冊ErrorModule < httpModules > < add name ="ErrorModule" type ="Kim.Web.ErrorModule, Kim.Web" /> </ httpModules > 說明:type="命名空間+類別名稱,組件名稱(Kim.Web.dll)" 參考網址 http://codebetter.com/blogs/karlseguin/archive/2006/06/12/146356.aspx