HttpListenerResponse.StatusCode Eigenschaft

Definition

Ruft den an den Client zurückzugebenden HTTP-Statuscode ab oder legt diesen fest.

public:
 property int StatusCode { int get(); void set(int value); };
public int StatusCode { get; set; }
member this.StatusCode : int with get, set
Public Property StatusCode As Integer

Eigenschaftswert

Ein Int32-Wert, der den HTTP-Statuscode für die angeforderte Ressource angibt. Der Standardwert ist OK und gibt an, dass der Server die Anforderung des Clients erfolgreich verarbeitet und die angeforderte Ressource in den Antworttext eingefügt hat.

Ausnahmen

Dieses Objekt ist geschlossen.

Der für einen set-Vorgang angegebene Wert ist ungültig. Gültige Werte liegen zwischen 100 und einschließlich 999.

Beispiele

Im folgenden Codebeispiel wird das Festlegen des Werts dieser Eigenschaft veranschaulicht.


// When the client is not authenticated, there is no Identity.
if (context.User == null)
{
    message.Append ("<HTML><BODY><p> Hello local user! </p></BODY></HTML>");
}
else
{
    // Get the requester's identity.
    System.Security.Principal.WindowsIdentity identity = 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);
    message.Append ("</BODY></HTML>");
}

// Configure the response.
HttpListenerResponse response = context.Response;

// Use the encoding from the response if one has been set.
// Otherwise, use UTF8.
System.Text.Encoding encoding = response.ContentEncoding;
if (encoding == null)
{
    encoding = System.Text.Encoding.UTF8;
    response.ContentEncoding = encoding;
}
byte[] buffer = encoding.GetBytes (message.ToString ());
response.ContentLength64 = buffer.Length;
response.StatusCode = (int) 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.
System.IO.Stream stream = response.OutputStream;
stream.Write(buffer, 0, buffer.Length);

' 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>")
Else
    ' 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)
    message.Append("</BODY></HTML>")
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)

Hinweise

Clients verwenden den vom Server zurückgegebenen status Code, um zu entscheiden, wie sie fortfahren möchten. Der Wert von OK gibt an, dass der Server die Anforderung des Clients erfolgreich verarbeitet und die angeforderte Ressource in den Antworttext eingeschlossen hat. Weitere gängige status Codes sind NotFound, die angeben, dass die angeforderte Ressource nicht auf dem Server gefunden wurde, und , die NotModifiedangibt, dass die angeforderte Ressource nicht im Antworttext zurückgegeben werden muss, da die zwischengespeicherte Kopie der Ressource des Clients auf dem neuesten Stand ist.

Eine vollständige Liste möglicher status Codes finden Sie in der HttpStatusCode Enumeration.

Gilt für:

Weitere Informationen