Прочитать на английском

Поделиться через


HttpListenerResponse.StatusCode Свойство

Определение

Возвращает или задает код состояния НТТР, который будет возвращен клиенту.

public int StatusCode { get; set; }

Значение свойства

Значение Int32, которое указывает код состояния HTTP для запрошенного ресурса. По умолчанию установлено OK, что показывает на успешность обработки сервером клиентского запроса и включение запрошенного ресурса в основной текст ответа.

Исключения

Данный объект закрыт.

Для операции присвоения указано недопустимое значение. Допустимые значения находятся в диапазоне от 100 до 999 включительно.

Примеры

В следующем примере кода показано задание значения этого свойства.


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

Комментарии

Клиенты используют код состояния, возвращенный сервером, чтобы решить, как продолжить. Значение OK указывает, что сервер успешно обработал запрос клиента и включил запрошенный ресурс в текст ответа. Другие распространенные коды состояния включают NotFound, указывающие, что запрошенный ресурс не найден на сервере, и NotModified, указывающие, что возврат запрошенного ресурса в тексте ответа не требуется, так как кэшированная копия ресурса клиента обновлена.

Полный список возможных кодов состояния см. в перечислении HttpStatusCode .

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

См. также раздел