This documentation is archived and is not being maintained.

HttpListenerResponse.ContentLength64 Property

Gets or sets the number of bytes in the body data included in the response.

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

'Declaration
Public Property ContentLength64 As Long

Property Value

Type: System.Int64
The value of the response's Content-Length header.

ExceptionCondition
ArgumentOutOfRangeException

The value specified for a set operation is less than zero.

InvalidOperationException

The response is already being sent.

ObjectDisposedException

This object is closed.

The Content-Length header expresses the length, in bytes, of the response's body data. When using a format that is not send the data chunked or raw, you must set the ContentLength64 property. If you do not, the HttpListener does not send the response data.

For a complete list of response headers, see the HttpResponseHeader enumeration.

The following code example demonstrates setting the value of this property.


' This example requires the System and System.Net namespaces.
Public Shared Sub SimpleListenerExample(ByVal prefixes() As String)
    If Not HttpListener.IsSupported Then
        Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class.")
        Return
    End If
    ' URI prefixes are required,
    ' for example "http://contoso.com:8080/index/".
    If prefixes Is Nothing OrElse prefixes.Length = 0 Then
        Throw New ArgumentException("prefixes")
    End If

    ' Create a listener.
    Dim listener As New HttpListener()
    ' Add the prefixes.
    For Each s As String In prefixes
        listener.Prefixes.Add(s)
    Next s
    listener.Start()
    Console.WriteLine("Listening...")
    ' Note: The GetContext method blocks while waiting for a request. 
    Dim context As HttpListenerContext = listener.GetContext()
    Dim request As HttpListenerRequest = context.Request
    ' Obtain a response object.
    Dim response As HttpListenerResponse = context.Response
    ' Construct a response.
    Dim responseString As String = "<HTML><BODY> Hello world!</BODY></HTML>"
    Dim buffer() As Byte = System.Text.Encoding.UTF8.GetBytes(responseString)
    ' Get a response stream and write the response to it.
    response.ContentLength64 = buffer.Length
    Dim output As System.IO.Stream = response.OutputStream
    output.Write(buffer, 0, buffer.Length)
    ' You must close the output stream.
    output.Close()
    listener.Stop()
End Sub


.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.
Show: