HttpApplication.Init() 過程中建立並啟動一系列事件,對應 global.asax 中的事件處理常式,同時掛載所有 HttpModule(作為額外事件接收器)。
圖示事件在 Pipeline 中傳遞順序,以及 HttpModule 如何攔截、擴展功能。
| 物件 | 角色 |
|---|---|
| HttpApplication | 事件發送者,本身不持有請求資料 |
| HttpContext | 攜帶請求狀態資料,從進入 Pipeline 到結束全程伴隨 |
| HttpModule | 掛載於 HttpApplication 事件的預處理/後處理器(如驗證、快取、編碼) |
| HttpHandler | 請求的終點處理器(.aspx 頁面、Web Service 皆為 Handler 實作) |
理解此架構有助於撰寫高效能 Module、診斷請求生命週期問題。