.NET之ASP WEBAPPLICATION快速入门(5)
你当前的位置:烁空 --> 技术文档全集
.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的震撼力量。我们有理由相信,凭借如此强大的工具,开发人员将更具创造力!