Compartir vía


HttpListenerResponse.StatusCode Propiedad

Definición

Obtiene o establece el código de estado de HTTP que se devuelve al cliente.

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

Valor de propiedad

Un valor Int32 que especifica el código de estado de HTTP para el recurso solicitado. El valor predeterminado es OK, que indica que el servidor procesó correctamente la solicitud del cliente e incluyó el recurso solicitado en el cuerpo de la respuesta.

Excepciones

Este objeto está cerrado.

El valor especificado para una operación de conjunto no es válido. Los valores válidos están comprendidos entre 100 y 999, ambos inclusive.

Ejemplos

En el ejemplo de código siguiente se muestra cómo establecer el valor de esta propiedad.


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

Comentarios

Los clientes usan el código de estado devuelto por el servidor para decidir cómo continuar. Un valor de OK indica que el servidor procesó correctamente la solicitud del cliente e incluyó el recurso solicitado en el cuerpo de la respuesta. Otros códigos de estado comunes incluyen NotFound, que indica que el recurso solicitado no se encontró en el servidor y NotModified, que indica que no era necesario devolver el recurso solicitado en el cuerpo de la respuesta porque la copia almacenada en caché del cliente del recurso está actualizada.

Para obtener una lista completa de los posibles códigos de estado, consulte la HttpStatusCode enumeración .

Se aplica a

Consulte también