Freigeben über


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 Statuscode, um zu entscheiden, wie sie fortfahren sollen. Der Wert gibt OK an, dass der Server die Anforderung des Clients erfolgreich verarbeitet und die angeforderte Ressource in den Antworttext aufgenommen hat. Andere gängige Statuscodes sind NotFound, die angeben, dass die angeforderte Ressource auf dem Server nicht gefunden wurde, und , was NotModifiedangibt, dass es nicht erforderlich ist, die angeforderte Ressource im Antworttext zurückzugeben, da die zwischengespeicherte Kopie der Ressource des Clients auf dem neuesten Stand ist.

Eine vollständige Liste der möglichen Statuscodes finden Sie in der HttpStatusCode Enumeration.

Gilt für:

Weitere Informationen