Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

HttpListenerContext.Response Property

Gets the HttpListenerResponse object that will be sent to the client in response to the client's request.

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

public HttpListenerResponse Response { get; }
/** @property */
public HttpListenerResponse get_Response ()

public function get Response () : HttpListenerResponse

Not applicable.

Property Value

An HttpListenerResponse object used to send a response back to the client.

Your application configures the response by setting properties in the HttpListenerResponse object returned by this property. After configuring the response, you send it to the client by closing the response, or by closing this HttpListenerContext object.

Notes to Callers: Note: This member outputs trace information when you enable network tracing in your application. For more information, see Network Tracing.

The following code example demonstrates getting the response to a client's request and adding the response body.

// This example requires the System and System.Net namespaces.
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;
}

public static void SimpleListenerWithAuthentication(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");

    // Set up a listener.
    HttpListener listener = new HttpListener();
    foreach (string s in prefixes)
    {
        listener.Prefixes.Add(s);
    }
    listener.Start();
    // Specify Negotiate as the authentication scheme.
    listener.AuthenticationSchemes = AuthenticationSchemes.Negotiate;
    Console.WriteLine("Listening...");
    // GetContext 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 clientInformation = ClientInformation(context);
    byte[] buffer = System.Text.Encoding.UTF8.GetBytes("<HTML><BODY> " + clientInformation + "</BODY></HTML>");
    // 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);
    output.Close();
    listener.Stop();
}

// This example requires the System and System.Net namespaces.
public static String ClientInformation(HttpListenerContext context)
{
    System.Security.Principal.IPrincipal user = context.get_User();
    System.Security.Principal.IIdentity id = user.get_Identity();
    if (id == null) {
        return "Client authentication is not enabled for this Web server.";
    }
    String display;
    if (id.get_IsAuthenticated()) {
        display = String.Format("{0} was authenticated using {1}", 
            id.get_Name(), id.get_AuthenticationType());
    }
    else {
        display = String.Format("{0} was not authenticated", id.get_Name());
    }
    return display;
} //ClientInformation

public static void SimpleListenerWithAuthentication(String prefixes[])
{
    if (!(HttpListener.get_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.get_Length() == 0) {
        throw new ArgumentException("prefixes");
    }

    // Set up a listener.
    HttpListener listener = new HttpListener();
    for (int iCtr = 0; iCtr < prefixes.get_Length(); iCtr++) {
        String s = prefixes[iCtr];
        listener.get_Prefixes().Add(s);
    }
    listener.Start();

    // Specify Negotiate as the authentication scheme.
    listener.set_AuthenticationSchemes(AuthenticationSchemes.Negotiate);
    Console.WriteLine("Listening...");
    // GetContext blocks while waiting for a request. 
    HttpListenerContext context = listener.GetContext();
    HttpListenerRequest request = context.get_Request();
    // Obtain a response object.
    HttpListenerResponse response = context.get_Response();
    // Construct a response.
    String clientInformation = ClientInformation(context);
    ubyte buffer[] = System.Text.Encoding.get_UTF8().GetBytes(
          "<HTML><BODY> " + clientInformation + "</BODY></HTML>");
    // Get a response stream and write the response to it.
    response.set_ContentLength64(buffer.get_Length());
    System.IO.Stream output = response.get_OutputStream();
    output.Write(buffer, 0, buffer.get_Length());
    output.Close();
    listener.Stop();
} //SimpleListenerWithAuthentication

Windows 98, Windows Server 2003, Windows XP Media Center Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.