HttpListenerResponse.StatusCode Proprietà

Definizione

Ottiene o imposta il codice di stato HTTP che deve essere restituito al client.Gets or sets the HTTP status code to be returned to the client.

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

Valore della proprietà

Valore Int32 che specifica il codice di stato HTTP per la risorsa richiesta.An Int32 value that specifies the HTTP status code for the requested resource. L'impostazione predefinita è l'enumerazione OK, che indica che il server ha elaborato correttamente la richiesta del client e ha incluso la risorsa richiesta nel corpo della risposta.The default is OK, indicating that the server successfully processed the client's request and included the requested resource in the response body.

Eccezioni

Questo oggetto è chiuso.This object is closed.

Il valore specificato per un'operazione di impostazione non è valido.The value specified for a set operation is not valid. I valori validi sono compresi fra 100 e 999 inclusi.Valid values are between 100 and 999 inclusive.

Esempi

Nell'esempio di codice riportato di seguito viene illustrata l'impostazione del valore di questa proprietà.The following code example demonstrates setting the value of this property.


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

Commenti

I client usano il codice di stato restituito dal server per decidere come procedere.Clients use the status code returned by the server to decide how to proceed. Il valore OK indica che il server ha elaborato correttamente la richiesta del client e include la risorsa richiesta nel corpo della risposta.A value of OK indicates that the server successfully processed the client's request and included the requested resource in the response body. Altri codici di stato comuni includono NotFound, a indicare che la risorsa richiesta non è stata trovata nel server e NotModified, a indicare che non è necessario restituire la risorsa richiesta nel corpo della risposta perché la copia della risorsa memorizzata nella cache del client è aggiornata.Other common status codes include NotFound, indicating that the requested resource was not found on the server, and NotModified, indicating that it was unnecessary to return the requested resource in the response body because the client's cached copy of the resource is up-to-date.

Per un elenco completo dei codici di stato possibili, vedere l'enumerazione HttpStatusCode.For a complete list of possible status codes, see the HttpStatusCode enumeration.

Si applica a

Vedi anche