Skip to main content
.NET Framework Class Library
HttpListenerResponse..::.ProtocolVersion Property

Gets or sets the HTTP version used for the response.

Namespace: System.Net
Assembly: System (in System.dll)
Syntax
Public Property ProtocolVersion As Version
public Version ProtocolVersion { get; set; }
public:
property Version^ ProtocolVersion {
	Version^ get ();
	void set (Version^ value);
}
member ProtocolVersion : Version with get, set

Property Value

Type: System..::.Version
A Version object indicating the version of HTTP used when responding to the client. Note that this property is now obsolete.
Exceptions
ExceptionCondition
ArgumentNullException

The value specified for a set operation is nullNothingnullptra null reference (Nothing in Visual Basic).

ArgumentException

The value specified for a set operation does not have its Major property set to 1 or does not have its Minor property set to either 0 or 1.

ObjectDisposedException

This object is closed.

Remarks

The capabilities of different HTTP versions are specified in the documents available at http://www.ietf.org.

Examples

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


Private Shared message403 As String
Private Shared Sub SendBadCertificateResponse(ByVal response As HttpListenerResponse)
    Dim message As New StringBuilder()
    message.Append("<HTML><BODY>")
    message.Append("<p> Error message 403: Access is denied due to a missing or invalid client certificate.</p>")
    message.Append("</BODY></HTML>")
    message403 = message.ToString()

    ' Set up an authentication error response template.
    response.StatusCode = CInt(HttpStatusCode.Forbidden)
    response.StatusDescription = "403 Forbidden"
    response.ProtocolVersion = New Version("1.1")
    response.SendChunked = False

    ' Turn the error message into a byte array using the 
    ' encoding from the response when present.
    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(message403)
    response.ContentLength64 = buffer.Length
    ' Write the error message.
    Dim stream As System.IO.Stream = response.OutputStream
    stream.Write(buffer, 0, buffer.Length)
    ' Send the response.
    response.Close()
End Sub


static string message403;
static void SendBadCertificateResponse(HttpListenerResponse response)
{
    StringBuilder message = new StringBuilder ();
    message.Append ("<HTML><BODY>");
    message.Append ("<p> Error message 403: Access is denied due to a missing or invalid client certificate.</p>");
    message.Append ("</BODY></HTML>");
    message403 = message.ToString();

    // Set up an authentication error response template.
    response.StatusCode = (int) HttpStatusCode.Forbidden;
    response.StatusDescription = "403 Forbidden";
    response.ProtocolVersion = new Version("1.1");
    response.SendChunked = false;

    // Turn the error message into a byte array using the 
    // encoding from the response when present.
    System.Text.Encoding encoding = response.ContentEncoding;
    if (encoding == null)
    {
        encoding = System.Text.Encoding.UTF8;
        response.ContentEncoding = encoding;
    }

    byte[] buffer = encoding.GetBytes (message403);
    response.ContentLength64 = buffer.Length;
    // Write the error message.
    System.IO.Stream stream = response.OutputStream;
    stream.Write(buffer,0,buffer.Length);
    // Send the response.
    response.Close();
}

Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

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.