HttpHandler―APS.NET最后一课

应该算是ACCP5.0 ASP.NET中的有技术含量的最后一课了吧,为什么要说是ACCP5.0 ASP.NET中的有技术含量的最后一课,因为知识无尽头嘛!嘿嘿~
打开VS2005新建一个Web站点,然后在“添加新项”中选择“一般处理程序”接着点击“添加”。HttpHandler程序是以ashx为后缀名的,新创建的HttpHandler的默认内容为:
<%@ WebHandler Language= "C#" Class= "Handler" %>//WebHandler指令,标记该处理程序的语言和类名称    
    
using System;    
using System.Web;    
    
public class Handler : IHttpHandler {//继承自IHttpHandler接口    
            
void ProcessRequest () void ProcessRequest (HttpContext context) {//最终处理方法    
                context.Response.ContentType = "text/plain";    
                context.Response.Write( "Hello World");    
        }    
    
         public bool IsReusable {//是否用于其他的IHttpHandler的实例    
                 get {    
                        return false;    
                }    
        }    
    
}

 这段代码说明了context对象可以用来控制输出的内容和类型。
ContentType用于设置程序的输出类型,这段代码可以在页面上出处一段文本“Hello World”(不禁悄悄问一句:为啥无论什么程序语言,写的第一个小程序都是输出Hello World?)且次ashx文件是可以直接访问的。
注意:
实现HttpHandler得功能就必须实现IHttpHandler接口,而且,任何实现了该接口的类都可以用于处理输入的HTTP请求。
从上面的代码我们可以看到,实现该接口需要实现IsReusable属性和ProcessRequest方法。
IsReusable可以用来设置是否可以重用此实例。
ProcessRequest方法是整个HTTP请求最终的处理方法。如下图所示:
这个方法需要一个HttpContext类型的参数,即“http上下文”。它封装了有关一些HTTP请求的所有HTTP特定的信息。在这里,它被用在不同的HttpModule和HttpHandler之间进行数据传递,也可以用于保持某一个完整的请求的相应的一些信息。
本文来源于:尼克技术博客 [url]http://www.ineeke.cn/[/url] , 原文地址: [url]http://www.ineeke.cn/archives/AspDotNetHttpHandler/[/url]

 

你可能感兴趣的:(Web,网络,职场,asp.net,休闲)