HttpListenerContext Class
Provides access to the request and response objects used by the HttpListener class. This class cannot be inherited.
Namespace: System.Net
Assembly: System (in System.dll)
The HttpListenerContext type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Request | Gets the HttpListenerRequest that represents a client's request for a resource. |
![]() | Response | Gets the HttpListenerResponse object that will be sent to the client in response to the client's request. |
![]() | User | Gets an object used to obtain identity, authentication information, and security roles for the client whose request is represented by this HttpListenerContext object. |
| Name | Description | |
|---|---|---|
![]() | AcceptWebSocketAsync(String) | Accept a WebSocket connection as an asynchronous operation. |
![]() | AcceptWebSocketAsync(String, TimeSpan) | Accept a WebSocket connection specifying the supported WebSocket sub-protocol and WebSocket keep-alive interval as an asynchronous operation. |
![]() | AcceptWebSocketAsync(String, Int32, TimeSpan) | Accept a WebSocket connection specifying the supported WebSocket sub-protocol, receive buffer size, and WebSocket keep-alive interval as an asynchronous operation. |
![]() | AcceptWebSocketAsync(String, Int32, TimeSpan, ArraySegment<Byte>) | Accept a WebSocket connection specifying the supported WebSocket sub-protocol, receive buffer size, WebSocket keep-alive interval, and the internal buffer as an asynchronous operation. |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
This class provides the information related to a client's Hypertext Transfer Protocol (HTTP) request being processed by an HttpListener object. This class also has methods that allow an HttpListener object to accept a WebSocket connection.
The GetContext method returns instances of the HttpListenerContext class. To get the object that represents the client request, use the Request property. To get the object that represents the response that will be sent to the client by the HttpListener, use the Response property. To get user information about the client sending the request, such as its login name and whether it has been authenticated, you can query the properties in the IPrincipal object returned by the User property.
Closing an HttpListenerContext object sends the response to the client and frees any resources used by the HttpListenerContext. Aborting an HttpListenerContext object discards the response to the client if it has not already been sent, and frees any resources used by the HttpListenerContext. After closing or aborting an HttpListenerContext object, you cannot reference its methods or properties. If you do so, you will receive an ObjectDisposedException exception.
Windows XP Home Edition, Windows XP Professional x64 Edition, Windows Server 2003 Platform Note: Service pack 2 is required to use the HttpListener class.
The following code example displays the user information for a client request.
public static string ClientInformation(HttpListenerContext context) { System.Security.Principal.IPrincipal user = context.User; System.Security.Principal.IIdentity id = user.Identity; if (id == null) { return "Client authentication is not enabled for this Web server."; } string display; if (id.IsAuthenticated) { display = String.Format("{0} was authenticated using {1}", id.Name, id.AuthenticationType); } else { display = String.Format("{0} was not authenticated", id.Name); } return display; }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

