HttpClient.SendRequestAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
SendRequestAsync(HttpRequestMessage) |
非同期操作として HTTP 要求を送信します。 HttpClient クラスのプログラミング ガイダンスとコード例については、HttpClient の概念に関するトピックを参照してください。 |
SendRequestAsync(HttpRequestMessage, HttpCompletionOption) |
HTTP 入力候補オプションを使用して HTTP 要求を非同期操作として送信します。 HttpClient クラスのプログラミング ガイダンスとコード例については、HttpClient の概念に関するトピックを参照してください。 |
SendRequestAsync(HttpRequestMessage)
非同期操作として HTTP 要求を送信します。 HttpClient クラスのプログラミング ガイダンスとコード例については、HttpClient の概念に関するトピックを参照してください。
public:
virtual IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request) = SendRequestAsync;
/// [Windows.Foundation.Metadata.Overload("SendRequestAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request);
[Windows.Foundation.Metadata.Overload("SendRequestAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request);
function sendRequestAsync(request)
Public Function SendRequestAsync (request As HttpRequestMessage) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)
パラメーター
- request
- HttpRequestMessage
送信する HTTP 要求メッセージ。
戻り値
非同期操作を表す オブジェクト。
- 属性
注釈
この操作はブロックされません。 返された IAsyncOperationWithProgress ( HttpResponseMessage と HttpProgress の) は、応答全体 (コンテンツを含む) が読み取られた後に完了します。
要求パラメーターで渡される HttpRequestMessage を使用すると、SendRequestAsync メソッドは、送信する HTTP コンテンツだけでなく、要求メッセージのヘッダーも設定できます。 これに対し、 PostAsync メソッドと PutAsync メソッドでは、HTTP コンテンツ ヘッダーのより制限されたセットのみを設定できます。
この関数がスローする例外を次に示します。
E_ILLEGAL_METHOD_CALL
要求メッセージは HttpClient インスタンスによって既に送信されています。
例外処理
このメソッドを呼び出すときに例外を処理するコードを記述する必要があります。 例外は、パラメーター検証エラー、名前解決エラー、ネットワーク エラーによって発生する可能性があります。 ネットワーク エラーの例外 (接続の損失、接続エラー、HTTP サーバーの障害など) は、いつでも発生する可能性があります。 これらのエラーが起きると、例外がスローされます。 アプリによって処理されない場合、例外によってアプリ全体がランタイムによって終了する可能性があります。 例外を処理する方法の詳細については、「 ネットワーク アプリでの例外の処理 」および「 方法: HRESULT と例外をマップする」を参照してください。
こちらもご覧ください
- HttpRequestMessage
- PostAsync(Uri, IHttpContent)
- PutAsync(Uri, IHttpContent)
- SendRequestAsync(HttpRequestMessage, HttpCompletionOption)
- HttpClient
適用対象
SendRequestAsync(HttpRequestMessage, HttpCompletionOption)
HTTP 入力候補オプションを使用して HTTP 要求を非同期操作として送信します。 HttpClient クラスのプログラミング ガイダンスとコード例については、HttpClient の概念に関するトピックを参照してください。
public:
virtual IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request, HttpCompletionOption completionOption) = SendRequestAsync;
/// [Windows.Foundation.Metadata.Overload("SendRequestWithOptionAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request, HttpCompletionOption const& completionOption);
[Windows.Foundation.Metadata.Overload("SendRequestWithOptionAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request, HttpCompletionOption completionOption);
function sendRequestAsync(request, completionOption)
Public Function SendRequestAsync (request As HttpRequestMessage, completionOption As HttpCompletionOption) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)
パラメーター
- request
- HttpRequestMessage
送信する HTTP 要求メッセージ。
- completionOption
- HttpCompletionOption
すべての応答が読み取られたときに HttpClient 操作が完了したと見なされるか、ヘッダーだけが読み取られたと見なされるかを示す値。
戻り値
非同期操作を表す オブジェクト。
- 属性
注釈
この操作はブロックされません。 返された IAsyncOperationWithProgress ( HttpResponseMessage と HttpProgress の) は 、completionOption パラメーターの値に応じて完了します。
要求パラメーターで渡される HttpRequestMessage を使用すると、SendRequestAsync メソッドは、送信する HTTP コンテンツだけでなく、要求メッセージのヘッダーも設定できます。 これに対し、 PostAsync メソッドと PutAsync メソッドでは、HTTP コンテンツ ヘッダーのより制限されたセットのみを設定できます。
この関数がスローする例外を次に示します。
E_ILLEGAL_METHOD_CALL
要求メッセージは HttpClient インスタンスによって既に送信されています。
例外処理
このメソッドを呼び出すときに例外を処理するコードを記述する必要があります。 例外は、パラメーター検証エラー、名前解決エラー、ネットワーク エラーによって発生する可能性があります。 ネットワーク エラーの例外 (接続の損失、接続エラー、HTTP サーバーの障害など) は、いつでも発生する可能性があります。 これらのエラーが起きると、例外がスローされます。 アプリによって処理されない場合、例外によってアプリ全体がランタイムによって終了する可能性があります。 例外を処理する方法の詳細については、「 ネットワーク アプリでの例外の処理 」および「 方法: HRESULT と例外をマップする」を参照してください。