Export (0) Print
Expand All

HttpListener.Close Method

Shuts down the HttpListener after processing all currently queued requests.

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

public:
void Close ()
public void Close ()
public function Close ()
Not applicable.

After calling this method, you can no longer use the HttpListener object. To temporarily pause an HttpListener object, use the Stop method.

To shut down the HttpListener object without processing queued requests, use the Abort method.

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

The following code example demonstrates calling this method.

// 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();
}

// This example requires the System and System.Net namespaces.
public static void SimpleListenerExample(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");
    }
    // Create a listener.
    HttpListener listener = new HttpListener();
    // Add the prefixes.
    for (int iCtr = 0; iCtr < prefixes.get_Length(); iCtr++) {
        String s = prefixes[iCtr];
        listener.get_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.get_Request();
    // Obtain a response object.
    HttpListenerResponse response = context.get_Response();
    // Construct a response.
    String responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
    ubyte buffer[] = System.Text.Encoding.get_UTF8().GetBytes(responseString);
    // 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());
    // You must close the output stream.
    output.Close();
    listener.Stop();
} //SimpleListenerExample

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