| title | IHttpConnection::IsConnected Method |
|---|---|
| description | Learn how the IHttpConnection::IsConnected method determines whether a Web client is still connected to the current request. |
| ms.date | 10/07/2016 |
| ms.assetid | a2b6d5e7-48d7-2eba-6fe3-1fec9586b846 |
Determines whether a Web client is still connected to the current request.
virtual BOOL IsConnected(
VOID
) const = 0; This method takes no parameters.
true if the Web client is still connected; otherwise, false.
The IsConnected method determines whether a Web client has remained connected to the current request or has disconnected from the current request. For example, if a request is taking a long time to process, a Web client may choose to end the connection. If an HTTP module calls the IsConnected method and determines that the connection has been terminated by the client, the module can bypass remaining notifications and end additional request processing by returning RQ_NOTIFICATION_FINISH_REQUEST. This frees IIS from continuing to process a request for a disconnected Web client.
The following code example demonstrates how to use the IHttpContext::GetConnection method to create an HTTP module that retrieves a pointer to an IHttpConnection interface. The example then calls the IHttpConnection::IsConnected method to determine whether the Web client that initiated the current request is still connected. If the client is still connected, the HTTP module will return a status message to the Web client. If the client is not connected, the module will return RQ_NOTIFICATION_FINISH_REQUEST to end additional processing.
[!code-cppIHttpConnectionIsConnected#1]
Your module must export the RegisterModule function. You can export this function by creating a module definition (.def) file for your project, or you can compile the module by using the /EXPORT:RegisterModule switch. For more information, see Walkthrough: Creating a Request-Level HTTP Module By Using Native Code.
You can optionally compile the code by using the __stdcall (/Gz) calling convention instead of explicitly declaring the calling convention for each function.
| Type | Description |
|---|---|
| Client | - IIS 7.0 on [!INCLUDEwinvista] - IIS 7.5 on Windows 7 - IIS 8.0 on Windows 8 - IIS 10.0 on Windows 10 |
| Server | - IIS 7.0 on [!INCLUDEwinsrv2008] - IIS 7.5 on Windows Server 2008 R2 - IIS 8.0 on Windows Server 2012 - IIS 8.5 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 - [!INCLUDEiisexp75], [!INCLUDEiisexp80], [!INCLUDEiisexp100] |
| Header | Httpserv.h |