Export (0) Print
Expand All

HttpListenerContext Class

Provides access to the request and response objects used by the HttpListener class. This class cannot be inherited.

System.Object
  System.Net.HttpListenerContext

Namespace:  System.Net
Assembly:  System (in System.dll)

public sealed class HttpListenerContext

The HttpListenerContext type exposes the following members.

  NameDescription
Public propertyRequestGets the HttpListenerRequest that represents a client's request for a resource.
Public propertyResponseGets the HttpListenerResponse object that will be sent to the client in response to the client's request.
Public propertyUserGets an object used to obtain identity, authentication information, and security roles for the client whose request is represented by this HttpListenerContext object.
Top

  NameDescription
Public methodAcceptWebSocketAsync(String)Accept a WebSocket connection as an asynchronous operation.
Public methodAcceptWebSocketAsync(String, TimeSpan)Accept a WebSocket connection specifying the supported WebSocket sub-protocol and WebSocket keep-alive interval as an asynchronous operation.
Public methodAcceptWebSocketAsync(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.
Public methodAcceptWebSocketAsync(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.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

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;
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, 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.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft