IHttpContext Interface

Defines an object that represents the processing context for request-level operations.

Syntax

class IHttpContext  

Methods

The following table lists the methods exposed by the IHttpContext class.

Name Description
AllocateRequestMemory Allocates a specified amount of memory.
CancelIo Cancels any pending send or receive operations.
CloneContext Creates a clone of the current request context.
DisableNotifications Disables specific notifications that are pending for this request in the current module.
ExecuteRequest Executes a child request.
GetApplication Retrieves the application container for the current context.
GetConnection Retrieves the connection container for the current context.
GetCurrentExecutionStats Retrieves the execution statistics for the current context.
GetExecuteFlags Retrieves the execution flags for the current context.
GetFileInfo Retrieves the file information container for the current context.
GetIsLastNotification Indicates whether more notifications are pending for this request within the current module host.
GetMetadata Retrieves the metadata container for the current request context.
GetModuleContextContainer Retrieves the module context container for the current context.
GetNextNotification Retrieves the next notification for the current module host.
GetParentContext Retrieves a pointer to the parent context for the current context.
GetPhysicalPath Retrieves the physical path for the current request.
GetRequest Returns the HTTP request container for the current context.
GetResponse Returns the HTTP response container for the current context.
GetResponseHeadersSent Determines whether the HTTP response headers have been sent to the client.
GetRootContext Retrieves a pointer to the root context for the current context.
GetScriptMap Retrieves the script map container for the current context.
GetScriptName Retrieves the URL for the current request.
GetScriptTranslated Retrieves the physical path of the current request.
GetServerVarChanges Retrieves the changes to the server variables for the current context.
GetServerVariable Retrieves a specific server variable.
GetSite Retrieves the site information container for the current context.
GetTraceContext Retrieves the trace context container for the current context.
GetUrlInfo Retrieves the URL information container for the current context.
GetUser Retrieves the user information container for the current context.
IndicateCompletion Indicates the completion of asynchronous work and requests IIS to resume execution on the calling thread.
MapHandler Maps a handler for a give URL, HTTP verb pair on a site.
MapPath Returns the physical path of a relative URL.
NotifyCustomNotification Raises a custom request-level notification.
PostCompletion Indicates the completion of asynchronous work and requests IIS to queue execution to the thread pool.
ReleaseClonedContext Releases a cloned IHttpContext instance.
SetRequestHandled Indicates that the handlers for the current request have completed.
SetServerVariable Sets a server variable to a specified value.

Derived Classes

Name Description
IHttpContext2 Represents the reprocessing of an HTTP request and enables the retrieval of information about the original user during asynchronous operation.
IHttpContext3 Represents the reprocessing of an HTTP request and enables additional support for asynchronous operations.
IHttpContext4 Represents the reprocessing of an HTTP request and enables additional support for diagnostic operations.

Remarks

The IHttpContext interface represents the main programmatic interface for HTTP modules to access information about the current request-level context. This interface retrieves several additional interfaces that you can use when writing HTTP modules.

For example, the GetRequest and GetResponse methods retrieve, respectively, the IHttpRequest and IHttpResponse interfaces for the current context. These interfaces allow developers to access or modify the request body and response body, HTTP headers, server behavior, and so on.

IIS 7 allows you to create and execute child contexts through the IHttpContext interface by using the CloneContext, ExecuteRequest, and ReleaseClonedContext methods. IIS also provides the GetParentContext and GetRootContext methods to help developers write HTTP modules that can change behavior depending on whether the current context is a root, child, or parent context.

IHttpContext also provides several methods to help developers control the behavior of notifications. For example, you can use the DisableNotifications method to disable notifications or the GetIsLastNotification method to determine whether there are any remaining notifications. Additionally, you can use the GetNextNotification method to merge notifications or the NotifyCustomNotification method to raise a custom notification.

Requirements

Type Description
Client - IIS 7.0 on Windows Vista
- IIS 7.5 on Windows 7
- IIS 8.0 on Windows 8
- IIS 10.0 on Windows 10
Server - IIS 7.0 on Windows Server 2008
- IIS 7.5 on Windows Server 2008 R2
- IIS 8.0 on Windows Server 2012
- IIS 8.0 on Windows Server 2012 R2
- IIS 10.0 on Windows Server 2016
Product - 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

See Also

Web Server Core Interfaces