首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

IHttpHandler 與 IHttpModule 核心概念解析

     編輯:關於ASP.NET

ASP.NET 管線事件由 HttpApplication 暴露,處理方式有二:IHttpModule 與 Global.asax,核心皆為 IHttpModule 介面。

IHttpModule

public interface IHttpModule {
    void Dispose();
    void Init(HttpApplication context);
}
  • Dispose:釋放非託管資源。
  • Init:接收 HttpApplication 實例,註冊管線事件(如 context.PostAuthenticateRequest += ...)。

實作類別需於 web.config <httpModules> 註冊方生效。

IHttpHandler

請求真正處理發生於 PreRequestHandlerExecute 與 PostRequestHandlerExecute 之間。HttpApplication 為管道提供預處理/後處理統一機制。

所有處理常式必須實作 IHttpHandler(同步)或 IHttpAsyncHandler(非同步):

public interface IHttpHandler {
    void ProcessRequest(HttpContext context);
    bool IsReusable { get; }
}
  • ProcessRequest:核心處理邏輯,透過 context.Response 輸出結果。
  • IsReusable:指示實例是否可快取重用。

處理常式與請求的對應關係於 web.config <httpHandlers> 設定(副檔名對應)。Page 類別即實作 IHttpHandler,是最常見的處理常式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved