.NET之ASP Web Application快速入门(5)

发表于:2007-06-30来源:作者:点击数: 标签:
创建自定义HttpHandler 要自定义一个handler,可以执行IhttpHandler,并在config.web文件的httphandlers一节中添加类信息。下面举例说明如何创建自定义一个HttpHandler,将所有的请求对应到"SimpleHandler.aspx"中: SimpleHandler []a href=http://www.aspn
     创建自定义HttpHandler
  
  
  要自定义一个handler,可以执行IhttpHandler,并在config.web文件的httphandlers一节中添加类信息。下面举例说明如何创建自定义一个HttpHandler,将所有的请求对应到"SimpleHandler.aspx"中:
  
  SimpleHandler
  
  
  []<a href=http://www.aspnextgen.com/quickstart/aspplus/samples/apps/handler/vb/simplehandler.aspx>点击运行程序</a>]
  | []<a href=http://www.aspnextgen.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/apps/handler.src>查看源代码</a>]
  
  自定义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的震撼力量。我们有理由相信,凭借如此强大的工具,开发人员将更具创造力!
  

原文转自:http://www.ltesting.net