Export (0) Print
Expand All

HttpListenerContext.Request Property

Gets the HttpListenerRequest that represents a client's request for a resource.

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

public HttpListenerRequest Request { get; }
/** @property */
public HttpListenerRequest get_Request ()

public function get Request () : HttpListenerRequest

Not applicable.

Property Value

An HttpListenerRequest object that represents the client request.

If you close this HttpListenerContext, it will send the response to the client, close the HttpListenerResponse that contains the response, and close the HttpListenerRequest object returned by this property.

Windows XP Home Edition, Windows XP Professional x64 Edition, Windows Server 2003 Platform Note: Service pack 2 is required to use the HttpListener class.

Windows Server 2003 Platform Note: Supports the use of the HttpListener class.

The following code example demonstrates calling this method. The listener variable holds an HttpListener object.

// 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

Community Additions

ADD
Show:
© 2014 Microsoft