![]() |
在HttpApplication的19個標準事件中 , 第8個 (PostMapRequestHandler觸發的時候會知道要求的Handler, 第 11 個 PreRequestHandlerExecute 後就開始執行這個處理常式 Handler . |
---|---|
處理常式 |
針對各式各樣Request的不同而會有不一樣的Handler來處理 , 通常是根據副檔名來確定使用的 Handler , 在 .net 的 web.config 裡有定義了許多一般常用的處理常式。當然我們也可以自己定義 |
Handler 與 HttpApplication 的闗係 |
HttpApplication 是 Request 到達和離開 Handler 的一個管線 , 這個管線提供了統一處理所有 Request 的機制 , 使
Request 進入 Handler 之前及離開之後都可以預先或後續處理 . 所以在Application的19個事件之中就會有可著墨的地方 . 處理常式在不同的網站開發技術之中 , 有著不同的名稱 . 在 ASP.NET 中 , 稱為HttpHandler |
IHttpHandler IHttpAsyncHandler |
ASP.NET 中 , 所有的Handler都必須實作這兩個介面 IHttpHandler 是同步介面 IHttpAsyncHandler 是非同步介面 這兩個介面都定義在System.Web下 |
使用Session |
須實作IRequiresSessionState 它是一個標籤介面 , 很特別 , 而且 .net 只有這一個是....因為後來有Attributes 出現...故... |
處理常式工廠 | 須實做 IHttpHandlerFactory |
登錄Handler | 參照 .net framework下的web.config裡的設定 |
GeneralHandler |
.ashx...常用...不多做介紹. 產生 json....參照 /GenericHandler/JsonHandler.ashx |