WebErrorStatus Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Define los errores detectados durante las operaciones que implican servicios web, como la autenticación, la configuración del proxy y los URI 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
- Herencia
-
WebErrorStatus
- Atributos
Requisitos de Windows
| Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
|
Campos
| Nombre | Valor | Description |
|---|---|---|
| BadGateway | 502 | El servidor actuaba como puerta de enlace o proxy y recibió una respuesta no válida del servidor ascendente. |
| BadRequest | 400 | No se puede cumplir la solicitud debido a una sintaxis incorrecta. |
| CannotConnect | 14 | No se puede conectar al destino. |
| CertificateCommonNameIsIncorrect | 1 | El nombre común del certificado SSL no coincide con la dirección web. |
| CertificateContainsErrors | 3 | El certificado SSL contiene errores. |
| CertificateExpired | 2 | El certificado SSL ha expirado. |
| CertificateIsInvalid | 5 | El certificado SSL no es válido. |
| CertificateRevoked | 4 | Se ha revocado el certificado SSL. |
| Conflict | 409 | Indica que la solicitud no se pudo procesar debido a un conflicto en la solicitud. |
| ConnectionAborted | 9 | Se anuló la conexión. |
| ConnectionReset | 10 | Se restableció la conexión. |
| Disconnected | 11 | La conexión finalizó. |
| ErrorHttpInvalidServerResponse | 8 | El servidor devolvió una respuesta no válida o no reconocida. |
| ExpectationFailed | 417 | El servidor no puede cumplir los requisitos del campo Esperar encabezado de solicitud. |
| Forbidden | 403 | El servidor ha rechazado la solicitud. |
| Found | 302 | Se encontró el recurso, pero está disponible en una ubicación diferente de la incluida en la solicitud. |
| GatewayTimeout | 504 | El servidor actuaba como puerta de enlace o proxy y no recibió una respuesta oportuna del servidor ascendente. |
| Gone | 410 | Indica que el recurso solicitado ya no está disponible y no estará disponible de nuevo. |
| HostNameNotResolved | 15 | No se pudo resolver el nombre de host proporcionado. |
| HttpsToHttpOnRedirection | 13 | Redirigido desde una ubicación segura a una ubicación no segura. |
| HttpToHttpsOnRedirection | 12 | Redirigido desde una ubicación a una ubicación segura. |
| HttpVersionNotSupported | 505 | El servidor no admite la versión del protocolo HTTP usada en la solicitud. |
| InsufficientRangeSupport | 22 | La solicitud no admite el intervalo. |
| InternalServerError | 500 | Mensaje de error genérico, dado cuando no es adecuado ningún mensaje más específico. |
| LengthRequired | 411 | La solicitud no especificó la longitud de su contenido, que requiere el recurso solicitado. |
| MethodNotAllowed | 405 | Se realizó una solicitud de un recurso mediante un método de solicitud que no es compatible con ese recurso. |
| MissingContentLengthSupport | 23 | La solicitud está mal el tamaño del archivo. |
| MovedPermanently | 301 | Esto y todas las solicitudes futuras deben dirigirse al URI especificado. |
| MultipleChoices | 300 | La dirección URL solicitada representa una agrupación de alto nivel de la que se deben realizar selecciones de nivel inferior. |
| NotAcceptable | 406 | El recurso solicitado solo es capaz de generar contenido no aceptable según los encabezados Accept enviados en la solicitud. |
| NotFound | 404 | No se encontró el recurso solicitado, pero puede estar disponible de nuevo en el futuro. |
| NotImplemented | 501 | El servidor no reconoce el método de solicitud o carece de la capacidad de cumplir la solicitud. |
| NotModified | 304 | Indica que el recurso no se ha modificado desde la última solicitud. |
| OperationCanceled | 16 | Operación cancelada. |
| PaymentRequired | 402 | Reservado. |
| PreconditionFailed | 412 | El servidor no cumple una de las condiciones previas que el solicitante ha puesto en la solicitud. |
| ProxyAuthenticationRequired | 407 | El cliente debe autenticarse primero con el proxy. |
| RedirectFailed | 17 | Error en la redirección de la solicitud. |
| RequestedRangeNotSatisfiable | 416 | El cliente ha solicitado una parte del archivo, pero el servidor no puede proporcionar esa parte. |
| RequestEntityTooLarge | 413 | La solicitud es mayor que el servidor está dispuesto o puede procesarse. |
| RequestTimeout | 408 | El servidor agotó el tiempo de espera para la solicitud. |
| RequestUriTooLong | 414 | La longitud de URI proporcionada supera la longitud máxima que puede procesar el servidor. |
| SeeOther | 303 | La respuesta a la solicitud se puede encontrar en otro URI mediante un método GET. |
| ServerUnreachable | 6 | El servidor no responde. |
| ServiceUnavailable | 503 | El servidor no está disponible actualmente. |
| TemporaryRedirect | 307 | El recurso solicitado reside temporalmente en un URI diferente. |
| Timeout | 7 | Se ha agotado el tiempo de espera de la conexión. |
| Unauthorized | 401 | Error en la autenticación o aún no se han proporcionado credenciales. |
| UnexpectedClientError | 20 | Se ha producido un error inesperado del lado cliente. |
| UnexpectedRedirection | 19 | Se redirigió inesperadamente una solicitud. |
| UnexpectedServerError | 21 | Se ha producido un error inesperado del lado servidor. |
| UnexpectedStatusCode | 18 | Código de estado inesperado que indica que se ha recibido un error. |
| Unknown | 0 | Se ha producido un error desconocido. |
| UnsupportedMediaType | 415 | La entidad de solicitud tiene un tipo de medio que el servidor o el recurso no admite. |
| UseProxy | 305 | Se debe tener acceso al recurso solicitado a través del proxy proporcionado por el campo Ubicación. |
Comentarios
Windows.WebErrorStatus devuelve un valor de Windows.Web.WebError.GetStatus, Windows.Networking.WebSocketError.GetStatus y Windows.Networking.BackgroundTransfer.GetStatus.
En este ejemplo se muestra cómo usar WebErrorStatus para mostrar un mensaje de error diferente en función del tipo de error. En este ejemplo, Windows.Networking.WebSocketError.GetStatus devuelve el valor WebError.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);
}
Historial de versiones
| Versión de Windows | Versión del SDK | Valor agregado |
|---|---|---|
| 1709 | 16299 | InsufficientRangeSupport |
| 1709 | 16299 | MissingContentLengthSupport |