1.IHttpHandler接口
定義了實現一個HttpRequest的處理所必須實現的一些系統約定方法。
public interface IHttpHandler { //其他Request是否可以使用IHttpHandler bool IsReusable { get; } //處理HttpRequest void ProcessRequest(HttpContext context); }
NET為ASP.NET提供了很多系統默認HttpHandler類,用來適應不同類型的HttpRequest
比如aspx,在machine.config中是這樣定義的:
<add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>
說明遇到aspx的Request,ASP.Net會將其交給System.Web.UI.PageHandlerFactory的HttpHandler類來 處理
如果自己定義了新的HttpHandler,而且在Web.config中指定,則系統只會使用這個新的HttpHandler ,而不再使用原先指定的
2.HttpHandler實現了IHttpHandler接口
一個aspx頁面在HttpHandler容器中的ProcessRequest方法才被系統真正的處理解析——即交給 PageHandlerFactory處理,該工廠負責提供一個HttpHandler容器,由其處理HttpRequest