Share via


IHttpFilter.SendRequestAsync(HttpRequestMessage) メソッド

定義

非同期操作として IHttpFilter インスタンスに HTTP 要求を送信します。

public:
 IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request);
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request);
[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 要求メッセージ。

戻り値

非同期操作を表す オブジェクト。

属性

注釈

カスタム フィルターは、 IHttpFilter インターフェイスの SendRequestAsync メソッドに実装されます。

Windows.Web.Http 名前空間のクラスでは、Windows.Web.Http.Filters 名前空間のクラスに基づくフィルターの使用がサポートされています。 Windows.Web.Http 名前空間の HttpClient クラスは、HTTP 要求を送信し、HTTP 応答を受信するための基本クラスを提供します。 フィルターは、一般的な HTTP サービスの問題に役立つハンドラー メカニズムを提供します。 単純なフィルターを順番に連結して、より複雑な HTTP サービスの問題を処理できます。

HTTP フィルターは、HTTP 要求メッセージを受け取り、HTTP 応答メッセージを生成するブラック ボックスです。 フィルターが HTTP 応答を取得する方法は、フィルター開発者によって決定されます。 アプリは応答をすぐに作成でき、TCP 経由でサーバーに要求を送信でき、応答メッセージを生成する前にサーバー (または複数のサーバー) に複数の要求を送信することもできます。 フィルターが応答メッセージに到達する方法は指定されていないので、フィルターは要求メッセージを別のフィルター (内部フィルターと呼ばれます) に渡して、応答メッセージの作成を内部フィルターに委任できます。

フィルターは、通常、ヘッダーの追加または変更、承認の処理 ( WebAuthenticationBroker を使用している可能性があります)、またはネットワーク条件に基づいて要求を許可または禁止します。 フィルターは通常、変更を行い、その要求を内部フィルターに渡します。これは通常、フィルターが構築されるときに設定されます。

この方法により、フィルターは HTTP 要求の実行の特定の側面のみを担当し、他の側面を他のフィルターに委任できます。 フィルターは、キャッシュ、認証、リダイレクト、Cookie、サーバーとの実際の通信、またはこれらの組み合わせを実装できます。 通常、最下位 (ベース) フィルターは、ネットワークとの実際の通信を行うフィルターになります。

この関数がスローする例外をいくつか次に示します。

E_INVALIDARG

要求パラメーターは null 参照でした (Visual Basic では Nothing)。

E_ILLEGAL_METHOD_CALL

要求メッセージは、 IHttpFilter インスタンスによって既に送信されています。

適用対象