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");
HttpContext 成员
|
名称 |
说明 |
|
已重载。初始化 HttpContext 类的新实例。 |
公共属性
名称 |
说明 |
|
获取在处理 HTTP 请求的过程中累积的错误数组。 |
||
为当前 HTTP 请求获取 HttpApplicationState 对象。 |
||
为当前 HTTP 请求获取或设置 HttpApplication 对象。 |
||
为当前 HTTP 请求获取 Cache 对象。 |
||
|
为当前 HTTP 请求获取 HttpContext 对象。 |
|
获取表示当前正在执行的处理程序的 IHttpHandler 对象。 |
||
获取在处理 HTTP 请求的过程中累积的第一个错误(如果有)。 |
||
获取或设置负责处理 HTTP 请求的 IHttpHandler 对象。 |
||
获取一个值,该值指示是否已为当前 HTTP 请求启用自定义错误。 |
||
获取一个值,该值指示当前 HTTP 请求是否处于调试模式。 |
||
获取可用于在 HTTP 请求过程中在 IHttpModule 接口和IHttpHandler 接口之间组织和共享数据的键/值集合。 |
||
获取父处理程序的 IHttpHandler 对象。 |
||
获取当前用户配置文件的 ProfileBase 对象。 |
||
为当前 HTTP 请求获取 HttpRequest 对象。 |
||
为当前 HTTP 响应获取 HttpResponse 对象。 |
||
获取提供用于处理 Web 请求的方法的HttpServerUtility 对象。 |
||
为当前 HTTP 请求获取 HttpSessionState 对象。 |
||
获取或设置一个值,该值指定 UrlAuthorizationModule对象是否应跳过对当前请求的授权检查。 |
||
获取当前 HTTP 请求的初始时间戳。 |
||
为当前 HTTP 响应获取 TraceContext 对象。 |
||
为当前 HTTP 请求获取或设置安全信息。 |
公共方法
(请参见 受保护的方法 )
|
名称 |
说明 |
将异常添加到当前 HTTP 请求的异常集合中。 |
||
清除当前 HTTP 请求的所有错误。 |
||
|
为当前应用程序返回请求的配置信息。 |
|
为当前 HTTP 请求返回所请求的配置信息。 |
||
|
已重载。 获取应用程序级别资源。 |
|
用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。) |
||
|
已重载。 获取页级别资源。 |
|
获取当前应用程序的默认配置的指定配置节。 |
||
|
确定指定的 Object 实例是否是相同的实例。 (从Object 继承。) |
|
已重载。 指定内部重写路径,并允许请求的 URL 与资源的内部路径不同。RewritePath 用在无 Cookie 会话状态中。 |
||
受保护的方法
名称 |
说明 |
|
允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。 (从 Object 继承。) |
||
创建当前 Object 的浅表副本。 (从 Object 继承。) |
显式接口实现
名称 |
说明 |
|
|
返回当前服务类型的对象。 |
补充:
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的生存周期内提前存储一些临时的数据,方便随时使用.具体的大家还是参考上面的MSDN提供内容.