Udostępnij za pośrednictwem


HttpListenerResponse.StatusCode Właściwość

Definicja

Pobiera lub ustawia kod stanu HTTP, który ma zostać zwrócony do klienta.

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

Wartość właściwości

Wartość Int32 określająca kod stanu HTTP żądanego zasobu. Wartość domyślna to OK, co oznacza, że serwer pomyślnie przetworzył żądanie klienta i uwzględnił żądany zasób w treści odpowiedzi.

Wyjątki

Ten obiekt jest zamknięty.

Wartość określona dla operacji zestawu jest nieprawidłowa. Prawidłowe wartości należą do przedziału od 100 do 999 włącznie.

Przykłady

W poniższym przykładzie kodu pokazano ustawienie wartości tej właściwości.


// 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)

Uwagi

Klienci używają kodu stanu zwróconego przez serwer, aby zdecydować, jak kontynuować. Wartość wskazuje OK , że serwer pomyślnie przetworzył żądanie klienta i uwzględnił żądany zasób w treści odpowiedzi. Inne typowe kody stanu to NotFound, wskazujący, że żądany zasób nie został znaleziony na serwerze i NotModified, wskazując, że nie trzeba zwracać żądanego zasobu w treści odpowiedzi, ponieważ buforowana kopia zasobu klienta jest aktualna.

Aby uzyskać pełną listę możliwych kodów stanu, zobacz HttpStatusCode wyliczenie.

Dotyczy

Zobacz też