Aracılığıyla paylaş


HttpListenerResponse.StatusCode Özellik

Tanım

İstemciye döndürülecek HTTP durum kodunu alır veya ayarlar.

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

Özellik Değeri

Int32 İstenen kaynak için HTTP durum kodunu belirten bir değer. Varsayılan değer, OKsunucunun istemcinin isteğini başarıyla işlediğini ve istenen kaynağı yanıt gövdesine dahil ettiğini gösterir.

Özel durumlar

Bu nesne kapatıldı.

Küme işlemi için belirtilen değer geçerli değil. Geçerli değerler 100 ile 999 (dahil) arasındadır.

Örnekler

Aşağıdaki kod örneği, bu özelliğin değerini ayarlamayı gösterir.


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

Açıklamalar

İstemciler, nasıl devam edileceklerine karar vermek için sunucu tarafından döndürülen durum kodunu kullanır. değeri OK , sunucunun istemcinin isteğini başarıyla işlediğini ve istenen kaynağı yanıt gövdesine eklediğini gösterir. diğer yaygın durum kodları, NotFoundistenen kaynağın sunucuda NotModifiedbulunamadığını ve istemcinin kaynağın önbelleğe alınmış kopyası güncel olduğundan yanıt gövdesinde istenen kaynağın döndürülmesi gereksiz olduğunu belirtir.

Olası durum kodlarının tam listesi için numaralandırmaya HttpStatusCode bakın.

Şunlara uygulanır

Ayrıca bkz.