WebErrorStatus 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义在涉及 Web 服务(例如身份验证、代理配置和目标 URI)的操作期间遇到的错误。
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
- 继承
-
WebErrorStatus
- 属性
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
字段
BadGateway | 502 | 服务器充当网关或代理,并从上游服务器收到无效响应。 |
BadRequest | 400 | 由于语法错误,无法满足请求。 |
CannotConnect | 14 | 无法连接到目标。 |
CertificateCommonNameIsIncorrect | 1 | SSL 证书公用名与 Web 地址不匹配。 |
CertificateContainsErrors | 3 | SSL 证书包含错误。 |
CertificateExpired | 2 | SSL 证书已过期。 |
CertificateIsInvalid | 5 | SSL 证书无效。 |
CertificateRevoked | 4 | SSL 证书已被吊销。 |
Conflict | 409 | 指示由于请求中的冲突而无法处理请求。 |
ConnectionAborted | 9 | 连接已中止。 |
ConnectionReset | 10 | 连接已重置。 |
Disconnected | 11 | 连接已结束。 |
ErrorHttpInvalidServerResponse | 8 | 服务器返回无效或无法识别的响应。 |
ExpectationFailed | 417 | 服务器无法满足“预期请求标头”字段的要求。 |
Forbidden | 403 | 服务器拒绝了请求。 |
Found | 302 | 资源已找到,但在与请求中包含的资源不同的位置可用。 |
GatewayTimeout | 504 | 服务器充当网关或代理,但未收到来自上游服务器的及时响应。 |
Gone | 410 | 指示请求的资源不再可用,并且不再可用。 |
HostNameNotResolved | 15 | 无法解析提供的主机名。 |
HttpsToHttpOnRedirection | 13 | 已从安全位置重定向到不安全的位置。 |
HttpToHttpsOnRedirection | 12 | 已从某个位置重定向到安全位置。 |
HttpVersionNotSupported | 505 | 服务器不支持请求中使用的 HTTP 协议版本。 |
InsufficientRangeSupport | 22 | 请求不支持 范围。 |
InternalServerError | 500 | 在没有更具体的消息适合时给出的一般错误消息。 |
LengthRequired | 411 | 请求未指定其内容的长度,这是请求的资源所需的。 |
MethodNotAllowed | 405 | 请求是使用该资源不支持的请求方法发出的。 |
MissingContentLengthSupport | 23 | 请求错误地调整了文件大小。 |
MovedPermanently | 301 | 此请求和将来的所有请求都应定向到给定的 URI。 |
MultipleChoices | 300 | 请求的 URL 表示需要进行较低级别的选择的高级分组。 |
NotAcceptable | 406 | 请求的资源只能根据请求中发送的 Accept 标头生成不可接受的内容。 |
NotFound | 404 | 找不到请求的资源,但将来可能会再次可用。 |
NotImplemented | 501 | 服务器要么无法识别请求方法,要么无法满足请求。 |
NotModified | 304 | 指示自上次请求以来未修改资源。 |
OperationCanceled | 16 | 该操作已取消。 |
PaymentRequired | 402 | 保留。 |
PreconditionFailed | 412 | 服务器不满足请求者对请求施加的前提条件之一。 |
ProxyAuthenticationRequired | 407 | 客户端必须先使用代理对自身进行身份验证。 |
RedirectFailed | 17 | 请求重定向失败。 |
RequestedRangeNotSatisfiable | 416 | 客户端已请求文件的一部分,但服务器无法提供该部分。 |
RequestEntityTooLarge | 413 | 请求大于服务器愿意或能够处理的请求。 |
RequestTimeout | 408 | 服务器等待请求时超时。 |
RequestUriTooLong | 414 | 提供的 URI 长度超出了服务器可以处理的最大长度。 |
SeeOther | 303 | 可以使用 GET 方法在另一 URI 下找到对请求的响应。 |
ServerUnreachable | 6 | 服务器没有响应。 |
ServiceUnavailable | 503 | 服务器当前不可用。 |
TemporaryRedirect | 307 | 请求的资源暂时驻留在不同的 URI 下。 |
Timeout | 7 | 连接已超时。 |
Unauthorized | 401 | 身份验证失败或尚未提供凭据。 |
UnexpectedClientError | 20 | 发生了意外的客户端错误。 |
UnexpectedRedirection | 19 | 意外重定向了请求。 |
UnexpectedServerError | 21 | 发生了意外的服务器端错误。 |
UnexpectedStatusCode | 18 | 指示收到失败的意外状态代码。 |
Unknown | 0 | 发生未知错误。 |
UnsupportedMediaType | 415 | 请求实体具有服务器或资源不支持的媒体类型。 |
UseProxy | 305 | 必须通过“位置”字段提供的代理访问请求的资源。 |
注解
WebErrorStatus 值由 Windows.Web.WebError.GetStatus、 Windows.Networking.WebSocketError.GetStatus 和 Windows.Networking.BackgroundTransfer.GetStatus 返回。
此示例演示如何使用 WebErrorStatus 根据错误类型显示不同的错误消息。 在此示例中,WebErrorStatus 值由 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);
}
版本历史记录
Windows 版本 | SDK 版本 | 增值 |
---|---|---|
1709 | 16299 | InsufficientRangeSupport |
1709 | 16299 | MissingContentLengthSupport |