This documentation is archived and is not being maintained.

HttpListenerResponse.KeepAlive Property

Gets or sets a value indicating whether the server requests a persistent connection.

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

Public Property KeepAlive As Boolean
Dim instance As HttpListenerResponse 
Dim value As Boolean 

value = instance.KeepAlive

instance.KeepAlive = value

Property Value

Type: System.Boolean
true if the server requests a persistent connection; otherwise, false. The default is true.


This object is closed.

If an HTTP client and server expect to exchange data multiple times in a short period, a persistent connection speeds up their communications by allowing them to avoid the overhead required to open and close a TCP connection for each message. Persistent connections are in widespread use in communications between modern Web browsers and Web servers.

Persistent connections are described in detail in the HTTP/1.1 protocol specification (RFC 2616) available at the RTF Editor Web site (

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

' When the client is not authenticated, there is no Identity. 
If context.User Is Nothing Then
    message.Append("<HTML><BODY><p> Hello local user! </p></BODY></HTML>")
    ' Get the requester's identity. 
    Dim identity As System.Security.Principal.WindowsIdentity = WindowsIdentity.GetCurrent()
    ' Construct the response body.
    message.AppendFormat("<HTML><BODY><p> Hello {0}!<br/>", identity.Name)
    message.AppendFormat("You were authenticated using {0}.</p>", identity.AuthenticationType)
End If 

' Configure the response. 
Dim response As HttpListenerResponse = context.Response

' Use the encoding from the response if one has been set. 
' Otherwise, use UTF8. 
Dim encoding As System.Text.Encoding = response.ContentEncoding
If encoding Is Nothing Then
    encoding = System.Text.Encoding.UTF8
    response.ContentEncoding = encoding
End If 
Dim buffer() As Byte = encoding.GetBytes(message.ToString())
response.ContentLength64 = buffer.Length
response.StatusCode = CInt(HttpStatusCode.OK)
response.StatusDescription = "OK"
response.ProtocolVersion = New Version("1.1")
' Don't keep the TCP connection alive 
' We don't expect multiple requests from the same client.
response.KeepAlive = False 
' Write the response body. 
Dim stream As System.IO.Stream = response.OutputStream
stream.Write(buffer, 0, buffer.Length)

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0