|
.NET之ASP Web Application快速入門(5) 創(chuàng)建自定義HttpHandler
要自定義一個handler,可以執(zhí)行IhttpHandler,并在config.web文件的httphandlers一節(jié)中添加類信息。下面舉例說明如何創(chuàng)建自定義一個HttpHandler,將所有的請求對應(yīng)到"SimpleHandler.aspx"中:
SimpleHandler
[]點(diǎn)擊運(yùn)行程序] | []查看源代碼]
自定義HttpHandler可以通過執(zhí)行IhttpHandler接口來創(chuàng)建,這個接口只有兩個方法。通過調(diào)用IsReusable,一個HTTP factory就能夠查詢handler(處理器)以判斷是否同一實(shí)例可以用于服務(wù)多個請求。ProcessRequest方法接受HttpContext實(shí)例作為參數(shù)。這里的例子中,請求數(shù)據(jù)被忽略,一個常量字符串作為響應(yīng)發(fā)送到客戶端。請看下面使用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目錄下面后,我們就可以指定處理器類到請求的目標(biāo)上。在這里,所有對"SimpleHandler.aspx"的請求將被路由到SimpleHandler類的一個實(shí)例上,它生存于名字空間Acme.SimpleHandler中。
結(jié) 語
以上通過原理與實(shí)例講述了.NET之ASP Web Application的概念及使用,我們看到了如何使用三種不同的編程語言達(dá)到目的。你會發(fā)現(xiàn),我們正在慢慢地觸及.NET的神奇思想,領(lǐng)會.NET的震撼力量。我們有理由相信,憑借如此強(qiáng)大的工具,開發(fā)人員將更具創(chuàng)造力!
|