WebErrorStatus 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
認証、プロキシ構成、宛先 URI など、Web サービスに関連する操作中に発生するエラーを定義します。
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 | サーバーは、Expect request-header フィールドの要件を満たすことはできません。 |
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 | サーバーは、要求元が要求に対して設定した前提条件の 1 つを満たしていません。 |
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 | 要求されたリソースには、Location フィールドによって指定されたプロキシを介してアクセスする必要があります。 |
注釈
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 |