HttpListenerResponse.StatusCode Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.