This topic has not yet been rated Rate this topic

HttpListenerResponse Class

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

System.Object
  System.Net.HttpListenerResponse

Namespace:  System.Net
Assembly:  System (in System.dll)
public sealed class HttpListenerResponse : IDisposable

The HttpListenerResponse type exposes the following members.

  Name Description
Public property ContentEncoding Gets or sets the Encoding for this response's OutputStream.
Public property ContentLength64 Gets or sets the number of bytes in the body data included in the response.
Public property ContentType Gets or sets the MIME type of the content returned.
Public property Cookies Gets or sets the collection of cookies returned with the response.
Public property Headers Gets or sets the collection of header name/value pairs returned by the server.
Public property KeepAlive Gets or sets a value indicating whether the server requests a persistent connection.
Public property OutputStream Gets a Stream object to which a response can be written.
Public property ProtocolVersion Gets or sets the HTTP version used for the response.
Public property RedirectLocation Gets or sets the value of the HTTP Location header in this response.
Public property SendChunked Gets or sets whether the response uses chunked transfer encoding.
Public property StatusCode Gets or sets the HTTP status code to be returned to the client.
Public property StatusDescription Gets or sets a text description of the HTTP status code returned to the client.
Top
  Name Description
Public method Abort Closes the connection to the client without sending a response.
Public method AddHeader Adds the specified header and value to the HTTP headers for this response.
Public method AppendCookie Adds the specified Cookie to the collection of cookies for this response.
Public method AppendHeader Appends a value to the specified HTTP header to be sent with this response.
Public method Close Sends the response to the client and releases the resources held by this HttpListenerResponse instance.
Public method Close(Byte(), Boolean) Returns the specified byte array to the client and releases the resources held by this HttpListenerResponse instance.
Public method CopyFrom Copies properties from the specified HttpListenerResponse to this response.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Redirect Configures the response to redirect the client to the specified URL.
Public method SetCookie Adds or updates a Cookie in the collection of cookies sent with this response.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Explicit interface implemetation Private method IDisposable.Dispose Infrastructure. Releases all resources used by the HttpListenerResponse.
Top

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.");
        return;
    }
    // URI prefixes are required,
    // for example "http://contoso.com:8080/index/".
    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)
    {
        listener.Prefixes.Add(s);
    }
    listener.Start();
    Console.WriteLine("Listening...");
    // 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;
    output.Write(buffer,0,buffer.Length);
    // You must close the output stream.
    output.Close();
    listener.Stop();
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ