定义一个 对象,该对象表示请求级操作的处理上下文。
语法
class IHttpContext
方法
下表列出了 类 IHttpContext 公开的方法。
| 名称 | 说明 |
|---|---|
| AllocateRequestMemory | 分配指定的内存量。 |
| CancelIo | 取消任何挂起的发送或接收操作。 |
| CloneContext | 创建当前请求上下文的克隆。 |
| DisableNotifications | 禁用当前模块中针对此请求挂起的特定通知。 |
| ExecuteRequest | 执行子请求。 |
| GetApplication | 检索当前上下文的应用程序容器。 |
| GetConnection | 检索当前上下文的连接容器。 |
| GetCurrentExecutionStats | 检索当前上下文的执行统计信息。 |
| GetExecuteFlags | 检索当前上下文的执行标志。 |
| GetFileInfo | 检索当前上下文的文件信息容器。 |
| GetIsLastNotification | 指示当前模块主机中此请求的更多通知是否挂起。 |
| GetMetadata | 检索当前请求上下文的元数据容器。 |
| GetModuleContextContainer | 检索当前上下文的模块上下文容器。 |
| GetNextNotification | 检索当前模块主机的下一个通知。 |
| GetParentContext | 检索指向当前上下文的父上下文的指针。 |
| GetPhysicalPath | 检索当前请求的物理路径。 |
| GetRequest | 返回当前上下文的 HTTP 请求容器。 |
| GetResponse | 返回当前上下文的 HTTP 响应容器。 |
| GetResponseHeadersSent | 确定 HTTP 响应标头是否已发送到客户端。 |
| GetRootContext | 检索指向当前上下文的根上下文的指针。 |
| GetScriptMap | 检索当前上下文的脚本映射容器。 |
| GetScriptName | 检索当前请求的 URL。 |
| GetScriptTranslated | 检索当前请求的物理路径。 |
| GetServerVarChanges | 检索对当前上下文的服务器变量所做的更改。 |
| GetServerVariable | 检索特定的服务器变量。 |
| GetSite | 检索当前上下文的站点信息容器。 |
| GetTraceContext | 检索当前上下文的跟踪上下文容器。 |
| GetUrlInfo | 检索当前上下文的 URL 信息容器。 |
| GetUser | 检索当前上下文的用户信息容器。 |
| IndicateCompletion | 指示异步工作完成,并请求 IIS 在调用线程上恢复执行。 |
| MapHandler | 在站点上映射给定 URL、HTTP 谓词对的处理程序。 |
| MapPath | 返回相对 URL 的物理路径。 |
| NotifyCustomNotification | 引发自定义请求级别通知。 |
| PostCompletion | 指示异步工作完成,并请求 IIS 对线程池执行队列。 |
| ReleaseClonedContext | 释放克隆的 IHttpContext 实例。 |
| SetRequestHandled | 指示当前请求的处理程序已完成。 |
| SetServerVariable | 将服务器变量设置为指定值。 |
派生类
| 名称 | 说明 |
|---|---|
| IHttpContext2 | 表示 HTTP 请求的重新处理,并允许在异步操作期间检索有关原始用户的信息。 |
| IHttpContext3 | 表示 HTTP 请求的重新处理,并支持对异步操作的其他支持。 |
| IHttpContext4 | 表示 HTTP 请求的重新处理,并支持对诊断操作的其他支持。 |
备注
接口IHttpContext表示 HTTP 模块访问有关当前请求级别上下文信息的main编程接口。 此接口检索编写 HTTP 模块时可以使用的几个其他接口。
例如, GetRequest 和 GetResponse 方法分别检索当前上下文的 IHttpRequest 和 IHttpResponse 接口。 这些接口允许开发人员访问或修改请求正文和响应正文、HTTP 标头、服务器行为等。
IIS 7 允许使用 CloneContext、 ExecuteRequest和 ReleaseClonedContext 方法通过 IHttpContext 接口创建和执行子上下文。 IIS 还提供 GetParentContext 和 GetRootContext 方法来帮助开发人员编写 HTTP 模块,这些模块可以根据当前上下文是根上下文、子上下文还是父上下文来更改行为。
IHttpContext 还提供了多种方法来帮助开发人员控制通知的行为。 例如,可以使用 DisableNotifications 方法禁用通知,或使用 GetIsLastNotification 方法确定是否有任何剩余通知。 此外,可以使用 GetNextNotification 方法合并通知,或使用 NotifyCustomNotification 方法引发自定义通知。
要求
| 类型 | 说明 |
|---|---|
| 客户端 | - Windows Vista 上的 IIS 7.0 - Windows 7 上的 IIS 7.5 - Windows 8 上的 IIS 8.0 - Windows 10 上的 IIS 10.0 |
| 服务器 | - Windows Server 2008 上的 IIS 7.0 - Windows Server 2008 R2 上的 IIS 7.5 - Windows Server 2012 上的 IIS 8.0 - Windows Server 2012 R2 上的 IIS 8.0 - Windows Server 2016 上的 IIS 10.0 |
| 产品 | - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0 - IIS Express 7.5、IIS Express 8.0、IIS Express 10.0 |
| Header | Httpserv.h |