This documentation is archived and is not being maintained.

HttpListenerResponse Class

Represents a response to a request being handled by an HttpListener object.

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

public ref class HttpListenerResponse sealed : IDisposable

When a client makes a request for a resource handled by an HttpListener object, the request and response are made available to your application in an HttpListenerContext object. The request is represented by an HttpListenerRequest object and is available in the HttpListenerContext::Request property. The response is represented by an HttpListenerResponse object and is available in the HttpListenerContext::Response property.

You can customize the response by setting various properties, such as StatusCode, StatusDescription, and Cookies. Use the HttpListenerResponse::OutputStream property to obtain a Stream instance to which response data can be written. Finally, send the response data to the client by calling the Close method.

The following code example demonstrates responding to a client request.

// This example requires the System and System.Net namespaces. 
public static void SimpleListenerExample(string[] prefixes)
    if (!HttpListener.IsSupported)
        Console.WriteLine ("Windows XP SP2 or Server 2003 is required to use the HttpListener class.");
    // URI prefixes are required, 
    // for example "".
    if (prefixes == null || prefixes.Length == 0)
      throw new ArgumentException("prefixes");

    // Create a listener.
    HttpListener listener = new HttpListener();
    // Add the prefixes. 
    foreach (string s in prefixes)
    // Note: The GetContext method blocks while waiting for a request. 
    HttpListenerContext context = listener.GetContext();
    HttpListenerRequest request = context.Request;
    // Obtain a response object.
    HttpListenerResponse response = context.Response;
    // Construct a response.
    string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
    // Get a response stream and write the response to it.
    response.ContentLength64 = buffer.Length;
    System.IO.Stream output = response.OutputStream;
    // You must close the output stream.


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

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0