.NET之ASP Web Application快速入門(5) 創建自定義HttpHandler
要自定義一個handler,可以執行IhttpHandler,并在config.web文件的httphandlers一節中添加類信息。下面舉例說明如何創建自定義一個HttpHandler,將所有的請求對應到"SimpleHandler.aspx"中:
SimpleHandler
[]點擊運行程序] | []查看源代碼]
自定義HttpHandler可以通過執行IhttpHandler接口來創建,這個接口只有兩個方法。通過調用IsReusable,一個HTTP factory就能夠查詢handler(處理器)以判斷是否同一實例可以用于服務多個請求。ProcessRequest方法接受HttpContext實例作為參數。這里的例子中,請求數據被忽略,一個常量字符串作為響應發送到客戶端。請看下面使用VB、C#以及JScript三種語言編寫的代碼:
C#
public class SimpleHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.Write("Hello World!"); }
public bool IsReusable() { return true; } }
VB
Public Class SimpleHandler : Inherits IHttpHandler Public Sub ProcessRequest(context As HttpContext) context.Response.Write("Hello World!") End Sub
Public Function IsReusable() As Boolean Return(True) End Function End Class
JScript
public class SimpleHandler implements IHttpHandler { public function ProcessRequest(context:HttpContext) : void { context.Response.Write("Hello World!"); }
public function IsReusable() : Boolean { return true; } }
將編譯的處理器集合放置到application的/bin目錄下面后,我們就可以指定處理器類到請求的目標上。在這里,所有對"SimpleHandler.aspx"的請求將被路由到SimpleHandler類的一個實例上,它生存于名字空間Acme.SimpleHandler中。
結 語
以上通過原理與實例講述了.NET之ASP Web Application的概念及使用,我們看到了如何使用三種不同的編程語言達到目的。你會發現,我們正在慢慢地觸及.NET的神奇思想,領會.NET的震撼力量。我們有理由相信,憑借如此強大的工具,開發人員將更具創造力!
|