HttpHandler是一個HTTP請求的真正處理中心。在HttpHandler容器中,ASP.NET Framework才調用HttpHandler的ProcessRequest成員方法來對這個HTTP請求進行真正的處理,真正地對用戶端請求的伺服器頁面做出編譯和執行,並將處理過後的資訊附加在HTTP請求資訊流中再次返回到HttpModule中。
Framework提供了一系列的介面和類,允許你對於Http請求進行編程,而實現這一操作的一個主要的介面,就是 IHttpHandler(另一個是IHttpModule)。
.ashx檔案用於寫web handler,使用.ashx可以讓你專註於編程而不用管相關的WEB技術。.ashx對應的類繼承於IHttpHandler,所以,.ashx必須包含IsResuable屬性,必須實現ProcessRequest方法。
IHttpHandler介面,定義ASP.NET為使用自訂HTTP處理常式同步處理HTTP Web請求而實現的協定。
IsResuable屬性指的是IHttpHandler是否可以被再次使用。
ProcessRequest方法則是實現HTTP Web的請求處理。
ashx代碼
1 [WebService(Namespace = "http://tempuri.org/")]
2 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
3 public class FirstHandler : IHttpHandler
4 {
5
6 public void ProcessRequest(HttpContext context)
7 {
8 context.Response.ContentType = "text/plain";
9 context.Response.Write("Hello World");
10 }
11
12 public bool IsReusable
13 {
14 get
15 {
16 return false;
17 }
18 }
19 }
其實用.aspx檔案可以完全實現.ashx的功能,.ashx比著.aspx的優點是效能高一些,它免去了.aspx頁面的控制項解析以及頁面處理過程。它特別適合於產生動態圖片,產生動態文本之類,實現某一具體功能的操作。
對於一些比較複雜的功能,比如需要處理回傳控制項的事件,則不太適合。
HttpHandler是一個HTTP請求的真正處理中心。在HttpHandler容器中,ASP.NET Framework才調用HttpHandler的ProcessRequest成員方法來對這個HTTP請求進行真正的處理,真正地對用戶端請求的伺服器頁面做出編譯和執行,並將處理過後的資訊附加在HTTP請求資訊流中再次返回到HttpModule中。
Framework提供了一系列的介面和類,允許你對於Http請求進行編程,而實現這一操作的一個主要的介面,就是 IHttpHandler(另一個是IHttpModule)。
.ashx檔案用於寫web handler,使用.ashx可以讓你專註於編程而不用管相關的WEB技術。.ashx對應的類繼承於IHttpHandler,所以,.ashx必須包含IsResuable屬性,必須實現ProcessRequest方法。
IHttpHandler介面,定義ASP.NET為使用自訂HTTP處理常式同步處理HTTP Web請求而實現的協定。
IsResuable屬性指的是IHttpHandler是否可以被再次使用。
ProcessRequest方法則是實現HTTP Web的請求處理。
ashx代碼
1 [WebService(Namespace = "http://tempuri.org/")]
2 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
3 public class FirstHandler : IHttpHandler
4 {
5
6 public void ProcessRequest(HttpContext context)
7 {
8 context.Response.ContentType = "text/plain";
9 context.Response.Write("Hello World");
10 }
11
12 public bool IsReusable
13 {
14 get
15 {
16 return false;
17 }
18 }
19 }
其實用.aspx檔案可以完全實現.ashx的功能,.ashx比著.aspx的優點是效能高一些,它免去了.aspx頁面的控制項解析以及頁面處理過程。它特別適合於產生動態圖片,產生動態文本之類,實現某一具體功能的操作。
對於一些比較複雜的功能,比如需要處理回傳控制項的事件,則不太適合。