Export (0) Print
Expand All

HttpListenerResponse.Close Method (Byte[], Boolean)

Returns the specified byte array to the client and releases the resources held by this HttpListenerResponse instance.

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

'Declaration
Public Sub Close ( _
	responseEntity As Byte(), _
	willBlock As Boolean _
)
'Usage
Dim instance As HttpListenerResponse
Dim responseEntity As Byte()
Dim willBlock As Boolean

instance.Close(responseEntity, willBlock)
public void Close (
	byte[] responseEntity, 
	boolean willBlock
)
public function Close (
	responseEntity : byte[], 
	willBlock : boolean
)
Not applicable.

Parameters

responseEntity

A Byte array that contains the response to send to the client.

willBlock

true to block execution while flushing the stream to the client; otherwise, false.

Exception typeCondition

ArgumentNullException

responseEntity is a null reference (Nothing in Visual Basic).

ObjectDisposedException

This object is closed.

If you are sending body data with the response, you can use this method to send it as a Byte array instead of writing the body data to the OutputStream property and calling the Close method.

This method closes the response stream and the HttpListenerRequest associated with the response.

The following code example demonstrates calling this method.

// This example requires the System and System.Net namespaces.
public static void SimpleListenerExample2(string[] prefixes)
{
    // 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;
    // Demonstrate using the close overload that takes an 
    // entity body.
    // Specify true to block while data is transmitted.
    response.Close(buffer, true);
    listener.Stop();
}

// This example requires the System and System.Net namespaces.
public static void SimpleListenerExample2(String prefixes[])
{
    // 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());
    // Demonstrate using the close overload that takes an 
    // entity body.
    // Specify true to block while data is transmitted.
    response.Close(buffer, true);
    listener.Stop();
} //SimpleListenerExample2

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