创建自定义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的震撼力量。我们有理由相 信,凭借如此强大的工具,开发人员将更具创造力!
|