HttpListenerResponse.StatusCode Propriété

Définition

Obtient ou définit le code d'état HTTP à retourner au 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

Valeur de propriété

Valeur Int32 qui spécifie le code d'état HTTP pour la ressource demandée. La valeur par défaut est OK, indiquant que le serveur a traité correctement la demande du client et a inclus la ressource demandée dans le corps de la réponse.

Exceptions

Cet objet est fermé.

La valeur spécifiée pour une opération set n'est pas valide. Les valeurs autorisées sont comprises entre 100 et 999 (inclus).

Exemples

L’exemple de code suivant montre comment définir la valeur de cette propriété.


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

Remarques

Les clients utilisent le code d’état retourné par le serveur pour décider de la procédure à suivre. La valeur de OK indique que le serveur a correctement traité la demande du client et inclus la ressource demandée dans le corps de la réponse. D’autres codes d’état courants incluent NotFound, indiquant que la ressource demandée n’a pas été trouvée sur le serveur, et NotModified, indiquant qu’il n’était pas nécessaire de retourner la ressource demandée dans le corps de la réponse, car la copie mise en cache du client de la ressource est à jour.

Pour obtenir la liste complète des codes d’état possibles, consultez l’énumération HttpStatusCode .

S’applique à

Voir aussi