当我们在vs中创建一个一般处理程序Handler.ashx文件时,我们可以在文件中看到这一句
public void ProcessRequest (HttpContext context)
HttpContext 类是.NET Framework 类库中很重要的一个类。它封装有关个别 HTTP 请求的所有 HTTP 特定的信息。
HttpContext的命名空间:System.Web
HttpContext的程序集:System.Web(在 system.web.dll 中)
为继承 IHttpModule 和 IHttpHandler 接口的类提供了对当前 HTTP 请求的 HttpContext 对象的引用。该对象提供对请求的内部 Request、Response 和 Server 属性的访问。
例如:我们可以这样用Response
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
1.生存周期:从客户端用户点击并产生了一个向服务器发送请求开始---服务器处理完请求并生成返回到客户端为止.
注:针对每个不同用户的请求,服务器都会创建一个新的HttpContext实例直到请求结束,服务器销毁这个实例.
2.为什么会有HttpContext类呢:在ASP年代,大家都是通过在.asp页面的代码中使用Request,Respose,Server等等这些Http特定信息的.但在ASP.NET时代,这中方式已经无法满足应用,(比如我们要在IHttpModule中处理Request时,我们使用什么方法来获取呢?于是就产生了HttpContext类,它对Request,Respose,Server等等都进行了封装,并保证在整个请求周期内都可以随时随地的调用.)
3.特殊性:当然HttpContext不仅仅只有这点功能.ASP.NET中它还提供了很多特殊的功能.例如Cache.还有HttpContext.Item,通过它你可以在HttpContext的生存周期内提前存储一些临时的数据,方便随时使用.
收集中待续。。。。。。。。。。。。。