明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

.NET之ASP Web Application迅速基礎(chǔ)(5)

[摘要].NET之ASP Web Application快速入門(5)  創(chuàng)建自定義HttpHandler 要自定義一個(gè)handler,可以執(zhí)行IhttpHandler,并在config.web文件的httphandlers一節(jié)中添加類信息。下面舉例說(shuō)明如何創(chuàng)建自定義一個(gè)HttpHandler,將所有的請(qǐng)...
.NET之ASP Web Application快速入門(5) 
創(chuàng)建自定義HttpHandler


要自定義一個(gè)handler,可以執(zhí)行IhttpHandler,并在config.web文件的httphandlers一節(jié)中添加類信息。下面舉例說(shuō)明如何創(chuàng)建自定義一個(gè)HttpHandler,將所有的請(qǐng)求對(duì)應(yīng)到"SimpleHandler.aspx"中:

SimpleHandler


[]<a href=http://www.aspnextgen.com/quickstart/aspplus/samples/apps/handler/vb/simplehandler.aspx>點(diǎn)擊運(yùn)行程序</a>]
[]<a href=http://www.aspnextgen.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/apps/handler.src>查看源代碼</a>]

自定義HttpHandler可以通過(guò)執(zhí)行IhttpHandler接口來(lái)創(chuàng)建,這個(gè)接口只有兩個(gè)方法。通過(guò)調(diào)用IsReusable,一個(gè)HTTP
factory就能夠查詢handler(處理器)以判斷是否同一實(shí)例可以用于服務(wù)多個(gè)請(qǐng)求。ProcessRequest方法接受HttpContext實(shí)例作為參數(shù)。這里的例子中,請(qǐng)求數(shù)據(jù)被忽略,一個(gè)常量字符串作為響應(yīng)發(fā)送到客戶端。請(qǐng)看下面使用VB、C#以及JScript三種語(yǔ)言編寫的代碼:

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目錄下面后,我們就可以指定處理器類到請(qǐng)求的目標(biāo)上。在這里,所有對(duì)"SimpleHandler.aspx"的請(qǐng)求將被路由到SimpleHandler類的一個(gè)實(shí)例上,它生存于名字空間Acme.SimpleHandler中。

結(jié) 語(yǔ)


以上通過(guò)原理與實(shí)例講述了.NET之ASP Web Application的概念及使用,我們看到了如何使用三種不同的編程語(yǔ)言達(dá)到目的。你會(huì)發(fā)現(xiàn),我們正在慢慢地觸及.NET的神奇思想,領(lǐng)會(huì).NET的震撼力量。我們有理由相信,憑借如此強(qiáng)大的工具,開(kāi)發(fā)人員將更具創(chuàng)造力!