A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© iamheima 中级黑马   /  2012-9-16 14:30  /  2566 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

  3.         public void ProcessRequest(HttpContext context)
  4.         {
  5.             context.Response.ContentType = "text/plain";
  6.             context.Response.Write("Hello World");
  7.         }

  8.         public bool IsReusable
  9.         {
  10.             get
  11.             {
  12.                 return false;
  13.             }
  14.         }
  15.     }
复制代码
1.IHttphandler接口
  1. public interface IHttpHandler
  2.     {
  3.         bool IsReusable { get; }
  4.         void ProcessRequest(HttpContext context);
  5.     }
复制代码
属性IsReusable是用来标示页面类对象是否能够被其它请求重用,true表示可以被重用,false则不能。
方法ProcessRequest用来在服务器端处理来自客户端的请求。

2.HttpContext Http上下文
它表示一次Http请求的上下文,IHttphandler接口的ProcessRequest方法接受这样的一个参数,以便于完成请求的处理。
一个HttpContext对象中包含了大量的属性和方法,下面只是对其中比较常用的几个成员进行介绍:
2.1 Request对象
它表示一个http请求,包含了从浏览器传送过来的数据,其中比较常用的成员有:
Form属性,它是一个NameValueCollection类型的对象,包含了表单中的数据;
Browser属性,使得服务器可以收集浏览器的一些信息,可以用来处理各种浏览器的兼容问题;
Cookies属性,它是浏览器发送过来的Cookie集合;
QueryString属性,获取 HTTP 查询字符串变量集合。
2.2Response对象
封装来自 ASP.NET 操作的 HTTP 响应信息,其中比较常用的成员有:
Write方法,用来向输出缓存中写入数据,有多重形式的重载;
Redirect方法,将请求重定向到新 URL 并指定该新 URL;
End方法,将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发 System.Web.HttpApplication.EndRequest 事件;
Flush方法,向客户端发送当前所有缓冲的输出;
StatusCode属性,获取或设置返回给客户端的输出的 HTTP 状态代码;
ContentType属性,获取或设置输出流的 HTTP MIME 类型,默认值为“text/html”,它决定了浏览器以何种方式解析服务器端发送过来的数据。
2.3 Server对象
提供用于处理 Web 请求的 Helper 方法,其中比较常用的成员有:
MapPath方法,返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径;
Transfer方法,对于当前请求,终止当前页的执行,并使用指定的页 URL 路径来开始执行一个新页;
UrlEncode/UrlDecode方法,对字符串进行 URL 编码(解码)并返回已编码(解码)的字符串;
2.4 Session对象
提供对会话状态值以及会话级别设置和生存期管理方法的访问,其中比较常用的成员有:
Add方法,向会话状态集合添加一个新项;
Clear()方法,从会话状态集合中移除所有的键和值;
Remove()方法,删除会话状态集合中的项。

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马