当前位置: 首页 > 图文教程 > 网络编程 > ASP > .NET之ASP WebApplication快速入门(5)

ASP
remote script文档(转载自微软)(八)
不能ASP图像组件来生成图像的ASP计数器程序(二)
不能ASP图像组件来生成图像的ASP计数器程序(三)
用ASP发送邮件
用ASP进行网络打印功能
用ASP实现号码转换
如何用ASP创建日志文件
二十八条改善 ASP 性能和外观的技巧(1-7)
二十八条改善 ASP 性能和外观的技巧(8-14)
二十八条改善 ASP 性能和外观的技巧(15-21)
二十八条改善 ASP 性能和外观的技巧(22-28)
asp实现在web中显示电子表格数据(一)显示数据表格的应用
asp实现在web中显示电子表格数据(二)生成HTML表格
asp实现在web中显示电子表格数据(三)创建数据表列表和名字范围
asp实现在web中显示电子表格数据(四)创建文件选择列表
Carello Web 使 ASP 源码暴露 (APP,缺陷)
MS IIS虚拟主机ASP源码泄露 (MS,缺陷)
虚拟web目录容易泄露ASP源代码 (MS,缺陷)
MS IIS server的ASP安全缺陷 (MS,缺陷)
用WinSock设计Chat程序(转)

.NET之ASP WebApplication快速入门(5)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 169 ::
收藏到网摘: n/a

  .NET之ASP Web Application快速入门(5) 
创建自定义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的震撼力量。我们有理由相信,凭借如此强大的工具,开发人员将更具创造力!