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

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

[摘要].NET之ASP Web Application快速入門(5)  創(chuàng)建自定義HttpHandler 要自定義一個(gè)handler,可以執(zhí)行IhttpHandler,并在config.web文件的htt...
.NET之ASP Web Application快速入門(5) 
創(chuàng)建自定義HttpHandler


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

SimpleHandler


[]點(diǎn)擊運(yùn)行程序]
[]查看源代碼]

自定義HttpHandler可以通過執(zhí)行IhttpHandler接口來創(chuàng)建,這個(gè)接口只有兩個(gè)方法。通過調(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三種語言編寫的代碼:

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é) 語


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