黑马程序员技术交流社区
标题:
一般处理程序(*.ashx)的一点小结
[打印本页]
作者:
iamheima
时间:
2012-9-16 14:30
标题:
一般处理程序(*.ashx)的一点小结
在一个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对象中包含了大量的属性和方法,下面只是对其中比较常用的几个成员进行介绍:
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()方法,删除会话状态集合中的项。
作者:
许庭洲
时间:
2012-9-17 08:34
值得学习ing!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2