WebErrorStatus Enumeração

Definição

Define erros encontrados durante operações que envolvem serviços Web, como autenticação, configuração de proxy e URIs de destino.

public enum class WebErrorStatus
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
enum class WebErrorStatus
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public enum WebErrorStatus
var value = Windows.Web.WebErrorStatus.unknown
Public Enum WebErrorStatus
Herança
WebErrorStatus
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Campos

BadGateway 502

O servidor estava atuando como um gateway ou proxy e recebeu uma resposta inválida do servidor upstream.

BadRequest 400

A solicitação não pode ser atendida devido à sintaxe incorreta.

CannotConnect 14

Não é possível se conectar ao destino.

CertificateCommonNameIsIncorrect 1

O nome comum do certificado SSL não corresponde ao endereço Web.

CertificateContainsErrors 3

O certificado SSL contém erros.

CertificateExpired 2

O certificado SSL expirou.

CertificateIsInvalid 5

O certificado SSL é inválido.

CertificateRevoked 4

O certificado SSL foi revogado.

Conflict 409

Indica que a solicitação não pôde ser processada devido a conflitos na solicitação.

ConnectionAborted 9

A conexão foi anulada.

ConnectionReset 10

A conexão foi redefinida.

Disconnected 11

A conexão foi encerrada.

ErrorHttpInvalidServerResponse 8

O servidor retornou uma resposta inválida ou não reconhecida.

ExpectationFailed 417

O servidor não pode atender aos requisitos do campo Esperar cabeçalho de solicitação.

Forbidden 403

O servidor recusou a solicitação.

Found 302

O recurso foi encontrado, mas está disponível em um local diferente do incluído na solicitação.

GatewayTimeout 504

O servidor estava atuando como um gateway ou proxy e não recebeu uma resposta oportuna do servidor upstream.

Gone 410

Indica que o recurso solicitado não está mais disponível e não estará disponível novamente.

HostNameNotResolved 15

Não foi possível resolve nome do host fornecido.

HttpsToHttpOnRedirection 13

Redirecionado de um local seguro para um local não seguro.

HttpToHttpsOnRedirection 12

Redirecionado de um local para um local seguro.

HttpVersionNotSupported 505

O servidor não dá suporte à versão do protocolo HTTP usada na solicitação.

InsufficientRangeSupport 22

A solicitação não dá suporte ao intervalo.

InternalServerError 500

Uma mensagem de erro genérica, dada quando nenhuma mensagem mais específica é adequada.

LengthRequired 411

A solicitação não especificou o comprimento de seu conteúdo, que é exigido pelo recurso solicitado.

MethodNotAllowed 405

Uma solicitação foi feita de um recurso usando um método de solicitação não compatível com esse recurso.

MissingContentLengthSupport 23

A solicitação está falhando no tamanho do arquivo.

MovedPermanently 301

Essa e todas as solicitações futuras devem ser direcionadas para o URI fornecido.

MultipleChoices 300

A URL solicitada representa um agrupamento de alto nível do qual as seleções de nível inferior precisam ser feitas.

NotAcceptable 406

O recurso solicitado só é capaz de gerar conteúdo não aceitável de acordo com os cabeçalhos Accept enviados na solicitação.

NotFound 404

O recurso solicitado não pôde ser encontrado, mas pode estar disponível novamente no futuro.

NotImplemented 501

O servidor não reconhece o método de solicitação ou não tem a capacidade de atender à solicitação.

NotModified 304

Indica que o recurso não foi modificado desde a última solicitação.

OperationCanceled 16

A operação foi cancelada.

PaymentRequired 402

Reservado.

PreconditionFailed 412

O servidor não atende a uma das pré-condições que o solicitante colocou na solicitação.

ProxyAuthenticationRequired 407

O cliente deve primeiro autenticar-se com o proxy.

RedirectFailed 17

Falha no redirecionamento da solicitação.

RequestedRangeNotSatisfiable 416

O cliente solicitou uma parte do arquivo, mas o servidor não pode fornecer essa parte.

RequestEntityTooLarge 413

A solicitação é maior do que o servidor está disposto ou capaz de processar.

RequestTimeout 408

O servidor atingiu o tempo limite ao aguardar a solicitação.

RequestUriTooLong 414

O comprimento do URI fornecido excede o comprimento máximo que o servidor pode processar.

SeeOther 303

A resposta à solicitação pode ser encontrada em outro URI usando um método GET.

ServerUnreachable 6

O servidor não está respondendo.

ServiceUnavailable 503

O servidor está atualmente indisponível.

TemporaryRedirect 307

O recurso solicitado reside temporariamente em um URI diferente.

Timeout 7

A conexão atingiu o tempo limite.

Unauthorized 401

A autenticação falhou ou as credenciais ainda não foram fornecidas.

UnexpectedClientError 20

Ocorreu um erro inesperado do lado do cliente.

UnexpectedRedirection 19

Uma solicitação foi redirecionada inesperadamente.

UnexpectedServerError 21

Ocorreu um erro inesperado no lado do servidor.

UnexpectedStatusCode 18

Um código de status inesperado indicando que uma falha foi recebida.

Unknown 0

Ocorreu um erro desconhecido.

UnsupportedMediaType 415

A entidade de solicitação tem um tipo de mídia ao qual o servidor ou recurso não dá suporte.

UseProxy 305

O recurso solicitado deve ser acessado por meio do proxy dado pelo campo Local.

Comentários

Um valor WebErrorStatus é retornado por Windows.Web.WebError.GetStatus, Windows.Networking.WebSocketError.GetStatus e Windows.Networking.BackgroundTransfer.GetStatus.

Este exemplo demonstra como usar WebErrorStatus para exibir uma mensagem de erro diferente, dependendo do tipo de erro. Neste exemplo, o valor de WebErrorStatus é retornado por Windows.Networking.WebSocketError.GetStatus.

using Windows.Web;
using Windows.Networking.Sockets;

// Pointer back to the main page. Needed to call methods in MainPage such as NotifyUser()
MainPage rootPage = MainPage.Current;

WebErrorStatus status = WebSocketError.GetStatus(ex.GetBaseException().HResult);

if (status == WebErrorStatus.CannotConnect ||
    status == WebErrorStatus.NotFound || 
    status == WebErrorStatus.RequestTimeout)
{
    rootPage.NotifyUser("Cannot connect to the server", NotifyType.ErrorMessage);
}
else
{
    rootPage.NotifyUser("Error: " + status, NotifyType.ErrorMessage);
}
// Pointer back to the main page. Needed to call methods in MainPage such as NotifyUser().
m_rootPage = MainPage::Current();

Windows::Web::WebErrorStatus status{ Windows::Networking::Sockets::WebSocketError::GetStatus(exception.to_abi()) };

if (status == Windows::Web::WebErrorStatus::CannotConnect ||
    status == Windows::Web::WebErrorStatus::NotFound ||
    status == Windows::Web::WebErrorStatus::RequestTimeout)
{
    m_rootPage.NotifyUser(L"Cannot connect to the server", NotifyType::ErrorMessage);
}
else
{
    m_rootPage.NotifyUser(std::wstring(L"Error: ") + exception.message().c_str(), NotifyType::ErrorMessage);
}
using namespace Windows::Web;
using namespace Windows::Networking::Sockets;

// Pointer back to the main page. Needed to call methods in MainPage such as NotifyUser()
rootPage = MainPage::Current;

WebErrorStatus status = WebSocketError::GetStatus(exception->HResult);

if (status == WebErrorStatus::CannotConnect || 
    status == WebErrorStatus::NotFound || 
    status == WebErrorStatus::RequestTimeout)
{
    rootPage->NotifyUser("Cannot connect to the server", NotifyType::ErrorMessage);
}
else
{
    rootPage->NotifyUser("Error: " + status.ToString(), NotifyType::ErrorMessage);
}

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
1.709 16299 InsufficientRangeSupport
1.709 16299 MissingContentLengthSupport

Aplica-se a

Confira também