黑马程序员之asp.net学习笔记:一般处理程序(*.ashx)小结

来源:互联网 发布:淘宝上怎么弄充话费 编辑:程序博客网 时间:2024/05/16 09:08

------------------------------------------------2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!------------------------------------------------------

在一个ASP.NET的项目中添加一个一般处理程序页面(*.ashx)后,文件中的内容如下,现在就这些内容总结一下里面的知识点

public class Handler1 : IHttpHandler

{

         public void ProcessRequest(HttpContext context)    
         {           
                context.Response.ContentType = "text/plain";          
                context.Response.Write("Hello World");    
         }
        public bool IsReusable       
        {       
                 get      
                 {          
                       return false;          
                 }      
        }  
}

1.IHttphandler接口
public interface IHttpHandler 
{       
          bool IsReusable
         {
                get;
         }       
         void ProcessRequest(HttpContext context);   
}

属性IsReusable是用来标示页面类对象是否能够被其它请求重用,true表示可以被重用,false则不能。
方法ProcessRequest用来在服务器端处理来自客户端的请求。


2.HttpContext Http上下文
它表示一次Http请求的上下文,IHttphandler接口的ProcessRequest方法接受这样的一个参数,以便于完成请求的处理。
一个HttpContext对象中包含了大量的属性和方法,下面只是对其中比较常用的几个成员进行介绍:


3 .Request对象
它表示一个http请求,包含了从浏览器传送过来的数据,其中比较常用的成员有:
Form属性,它是一个NameValueCollection类型的对象,包含了表单中的数据;
Browser属性,使得服务器可以收集浏览器的一些信息,可以用来处理各种浏览器的兼容问题;
Cookies属性,它是浏览器发送过来的Cookie集合;
QueryString属性,获取 HTTP 查询字符串变量集合。


4.Response对象
封装来自 ASP.NET 操作的 HTTP 响应信息,其中比较常用的成员有:
Write方法,用来向输出缓存中写入数据,有多重形式的重载;
Redirect方法,将请求重定向到新 URL 并指定该新 URL;
End方法,将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发 System.Web.HttpApplication.EndRequest 事件;
Flush方法,向客户端发送当前所有缓冲的输出;
StatusCode属性,获取或设置返回给客户端的输出的 HTTP 状态代码;
ContentType属性,获取或设置输出流的 HTTP MIME 类型,默认值为“text/html”,它决定了浏览器以何种方式解析服务器端发送过来的数据。


5 Server对象
提供用于处理 Web 请求的 Helper 方法,其中比较常用的成员有:
MapPath方法,返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径;
Transfer方法,对于当前请求,终止当前页的执行,并使用指定的页 URL 路径来开始执行一个新页;
UrlEncode/UrlDecode方法,对字符串进行 URL 编码(解码)并返回已编码(解码)的字符串;


6 Session对象
提供对会话状态值以及会话级别设置和生存期管理方法的访问,其中比较常用的成员有:
Add方法,向会话状态集合添加一个新项;
Clear()方法,从会话状态集合中移除所有的键和值;
Remove()方法,删除会话状态集合中的项。


--------------------------------------------------- 2345王牌技术员联盟、2345王牌技术员联盟、期待与您交流!---------------------------------------------------------


原创粉丝点击