This documentation is archived and is not being maintained.

HttpListenerResponse.CopyFrom Method

Copies properties from the specified HttpListenerResponse to this response.

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

'Declaration
Public Sub CopyFrom ( _
	templateResponse As HttpListenerResponse _
)
'Usage
Dim instance As HttpListenerResponse 
Dim templateResponse As HttpListenerResponse

instance.CopyFrom(templateResponse)

Parameters

templateResponse
Type: System.Net.HttpListenerResponse

The HttpListenerResponse instance to copy.

If you regularly change many properties from their default values to a fixed set of new values, it is convenient to use an HttpListenerResponse instance as a template. Customize the template response once and, instead of configuring each response separately, call the CopyFrom method to configure a new response based on property values in the template response.

The following properties are copied from templateResponse to the current instance.

The following code example demonstrates creating a response by copying a template response.

Private Shared message403 As String 
Private Shared preMade403Response As HttpListenerResponse
Private Shared Sub SendBadCertificateResponse(ByVal response As HttpListenerResponse)

    If preMade403Response Is Nothing Then 
        ' 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 
    Else
        response.CopyFrom(preMade403Response) 
    End If 

    ' The response body cannot be saved in the template. 
    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()

    ' 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

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