Http處理程序和HTTP模塊

  ASP.NET HTTP 處理程序是響應對ASP.NET Web 應用程序的請求而運行的過程。最常用的處理程序是處理.aspx文件的ASP.NET頁處理程序。用戶請求.aspx文件時,頁通過頁處理程序來處理請求。可以創建自定義的HTTP處理程序將自定義輸出呈現給瀏覽器。過程如圖所示:

  HTTP模塊是一個在每次針對應用程序發出請求時調用的程序集。HTTP模塊作爲ASP.NET請求管道的一部分調用,它們能夠在整個請求過程中訪問生命週期事件。HTTP模塊使你可以檢查傳入和傳出的請求並根據請求進行操作。

  開發自定義HTTP處理程序和HTTP模塊之前,應先了解IHttpHandler和IHttpModule接口,IHttpHandler和IHttpModule接口是開發處理程序和模塊的起始點。IHttpAsyncHandler接口是開發異步處理程序的起始點。類圖如下所示:

  IHttpHandler.IsReusable屬性:獲取一個值,該值指示其他請求是否可以使用IHttpHandler實例。

  IHttpHandler.ProcessRequest方法:通過實現IHttpHandler接口的自定義HttpHandler啓用HTTP Web請求的處理。

  ASP.NET根據文件擴展名將HTTP請求映射到HTTP處理程序。創建自定義HTTP處理程序,需創建一個實現IHttpHandler接口的類來創建一個同步處理程序,必須實現接口中包含的IsReusable屬性和ProcessRequest方法。IsReusable屬性指定IHttpHandlerFactory對象是否可以將處理程序放置在池中,並且重新使用以提高性能。如果處理程序不能放在池中,則在每次需要處理程序時工廠都必須創建處理程序的新實例。

  自定義IHttpHandlerFactory類,IHttpHandlerFactory類接收請求並負責向相應的HTTP處理程序轉發請求。你可以通過創建一個實現了IHttpHandlerFactory接口的類來創建自定義HTTP處理程序工廠。自定義處理程序工廠通過創建不同的基於運行時條件的處理程序,使你可以更好地控制對HTTP請求的處理方式。類圖如下所示:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章