在处理请求执行链的各个阶段中,会有一个对象在各个对象之间进行传递,也即会保存请求的上下文信息,这个对象就是HttpContext对象。HttpContext粉状了ASP.NET要处理的单次请求的所有信息。在请求处理机制建立时,HttpContext类有HttpRuntime对象实例化,接着该对象会经历请求生存期的各个阶段。如图所示:
图:封装了请求所有有关信息的HttpContext对象沿HTTP管道传递,直到生成客户端响应
HttpContext类的属性有:
名称
|
说明
|
获取在处理 HTTP 请求的过程中累积的错误数组,其中的元素代表处理请求过程中出现的错误。
|
|
为当前 HTTP 请求获取 HttpApplicationState 对象,其中包含应用程序的全局状态。
|
|
获取或设置当前 HTTP 请求的 HttpApplication 对象。该对象实际的类型为global.asax的代码隐藏类。如要访问定义在global.asax中公共属性和方法,则需要类型转换。
|
|
为当前 HTTP 请求获取 Cache 对象,该对象是ASP.NET特有的。
|
|
获取当前 HTTP 请求 HttpContext 对象。
|
|
获取表示当前正在执行的处理程序的 IHttpHandler 对象,该属性是只读的,返回存储在Handler的值。
|
|
获取在处理 HTTP 请求的过程中累积的第一个错误(如果有)。
|
|
获取或设置负责处理 HTTP 请求的 IHttpHandler 对象(HTTP处理程序)。
|
|
获取一个值,该值指示是否已为当前 HTTP 请求启用自定义错误。
|
|
获取一个值,该值指示当前 HTTP 请求是否处于调试模式。
|
|
获取可用于在 HTTP 请求过程中在 IHttpModule 接口和 IHttpHandler 接口之间组织和共享数据的键/值集合(用于HTTP模块和HTTP处理程序间共享自定义数据和对象,是一个哈希表)。
|
|
获取父处理程序的 IHttpHandler 对象(当前处理的上个处理程序)。
|
|
获取当前用户配置文件的 ProfileBase 对象。
|
|
request(VS.80).aspx">Request
|
为当前 HTTP 请求获取 HttpRequest 对象,该实例代表HTTP请求。
|
为当前 HTTP 响应获取 HttpResponse 对象,该对象可以向客户端发送响应数据。
|
|
获取提供用于处理 Web 请求的方法的 HttpServerUtility 对象,该对象提供了处理web请求的辅助方法。
|
|
为当前 HTTP 请求获取 HttpSessionState 对象,该对象用于管理与会话状态有关的数据。
|
|
获取或设置一个值,该值指定 UrlAuthorizationModule 对象是否应跳过对当前请求的授权检查。
|
|
获取当前 HTTP 请求的初始时间戳的DateTime对象。
|
|
为当前 HTTP 响应获取 TraceContext 对象。
|
|
为当前 HTTP 请求获取或设置安全信息,能够获取到得是IPrincipal对象,代表发出请求用户的标识。
|
将异常添加到当前 HTTP 请求的异常集合中。
|
|
清除当前 HTTP 请求的所有错误。
|
|
为当前应用程序返回请求的配置信息。
|
|
为当前 HTTP 请求返回所请求的配置信息。
|
|
已重载。 获取应用程序级别资源。
|
|
用作特定类型的哈希函数。 GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。)
|
|
已重载。 获取页级别资源。
|
|
获取当前应用程序的默认配置的指定配置节。
|
|
确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)
|
|
已重载。 指定内部重写路径,并允许请求的 URL 与资源的内部路径不同。 RewritePath 用在无 Cookie 会话状态中(重写当前Request对象的URL和查询字符串)。
|
|
名称
|
说明
|
清除前一个异常。
|
|
已重载。 创建 COM 对象的一个服务器实例。
|
|
创建 COM 对象的服务器实例,该对象由对象的类标识符 (CLSID) 标识。
|
|
已重载。 确定两个 Object实例是否相等。 (从 Object继承)
|
|
已重载。 在当前请求的上下文中执行指定资源的处理程序,然后将控制返回给该处理程序。
|
|
用作特定类型的哈希函数。 (从 Object继承)
|
|
返回前一个异常。
|
|
已重载。 对已被编码以消除无效 HTML 字符的字符串进行解码。
|
|
已重载。 对要在浏览器中显示的字符串进行编码。
|
|
返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径。
|
|
确定指定的 Object 实例是否是相同的实例。 (从 Object继承)
|
|
返回表示当前 Object 的 String。 (从 Object继承)
|
|
已重载。 终止当前页的执行,并为当前请求开始执行新页。
|
|
已重载。
|
|
已重载。 对字符串进行解码,该字符串为了进行 HTTP 传输而进行编码并在 URL 中发送到服务器。
|
|
已重载。 编码字符串,以便通过 URL 从 Web 服务器到客户端进行可靠的 HTTP 传输。
|
|
对 URL 字符串的路径部分进行 URL 编码,并返回已编码的字符串。
|
|
将 URL 字符串标记解码为使用 64 进制数字的等效字节数组。
|
|
将字节数组编码为使用 64 进制数字并适合在 URL 上传输的等效字符串表示形式。
|
获取服务器的计算机名称。
|
|
获取和设置请求超时值(以秒计)。
|
名称
|
说明
|
获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送。
|
|
获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之后将其发送。
|
|
获取网页的缓存策略(过期时间、保密性、变化子句)。
|
|
将 Cache-Control HTTP 头设置为 Public 或 Private。
|
|
获取或设置输出流的 HTTP 字符集。
|
|
获取或设置输出流的 HTTP 字符集。
|
|
获取或设置输出流的 HTTP MIME 类型。
|
|
获取响应 Cookie 集合。
|
|
获取或设置在浏览器上缓存的页过期之前的分钟数。如果用户在页面过期之前返回该页,则显示缓存版本。提供 Expires 是为了与以前版本的 ASP 兼容。
|
|
获取或设置从缓存中移除缓存信息的绝对日期和时间。提供 ExpiresAbsolute 是为了与以前版本的 ASP 兼容。
|
|
获取或设置一个包装筛选器对象,该对象用于在传输之前修改 HTTP 实体主体。
|
|
获取或设置一个 Encoding 对象,该对象表示当前标头输出流的编码。
|
|
获取一个值,通过该值指示客户端是否仍连接在服务器上。
|
|
获取一个布尔值,该值指示客户端是否正在被传输到新的位置。
|
|
启用到输出 HTTP 响应流的文本输出。
|
|
启用到输出 Http 内容主体的二进制输出。
|
|
获取或设置 Http“位置”标头的值。
|
|
设置返回到客户端的 Status 栏。
|
|
获取或设置返回给客户端的输出的 HTTP 状态代码。
|
|
获取或设置返回给客户端的输出的 HTTP 状态字符串。
|
名称
|
说明
|
将一组缓存依赖项与响应关联,这样,如果响应存储在输出缓存中并且指定的依赖项发生变化,就可以使该响应失效。
|
|
已重载。 使缓存响应的有效性依赖于缓存中的其他项。
|
|
使缓存响应的有效性依赖于缓存中的其他项。
|
|
已重载。 使缓存响应的有效性依赖于缓存中的其他项。
|
|
将单个文件名添加到文件名集合中,当前响应依赖于该集合。
|
|
将一个 HTTP 头添加到输出流。提供AddHeader是为了与以前版本的 ASP 兼容。
|
|
将一个 HTTP Cookie 添加到内部 Cookie 集合。
|
|
将 HTTP 头添加到输出流。
|
|
将自定义日志信息添加到 Internet 信息服务 (IIS) 日志文件。
|
|
如果会话使用Cookieless 会话状态,则将该会话 ID 添加到虚拟路径中,并返回组合路径。如果不使用 Cookieless 会话状态,则ApplyAppPathModifier返回原始的虚拟路径。
|
|
将一个二进制字符串写入 HTTP 输出流。
|
|
清除缓冲区流中的所有内容输出。
|
|
清除缓冲区流中的所有内容输出。
|
|
清除缓冲区流中的所有头。
|
|
关闭到客户端的套接字连接。
|
|
将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发EndRequest事件。
|
|
向客户端发送当前所有缓冲的输出。
|
|
用作特定类型的哈希函数。 GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从Object继承。)
|
|
将一个 PICS-Label HTTP 标头追加到输出流。
|
|
已重载。 将客户端重定向到新的 URL。
|
|
确定指定的 Object 实例是否是相同的实例。 (从Object继承。)
|
|
静态方法从缓存中移除所有与指定路径关联的缓存项。
|
|
更新 Cookie 集合中的一个现有 Cookie。
|
|