HttpClient.GetBufferAsync(Uri) メソッド

定義

指定した URI に GET 要求を送信し、非同期操作で応答本文をバッファーとして返します。 HttpClient クラスのプログラミング ガイダンスとコード例については、HttpClient の概念に関するトピックを参照してください。

public:
 virtual IAsyncOperationWithProgress<IBuffer ^, HttpProgress> ^ GetBufferAsync(Uri ^ uri) = GetBufferAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<IBuffer, HttpProgress> GetBufferAsync(Uri const& uri);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<IBuffer,HttpProgress> GetBufferAsync(System.Uri uri);
function getBufferAsync(uri)
Public Function GetBufferAsync (uri As Uri) As IAsyncOperationWithProgress(Of IBuffer, HttpProgress)

パラメーター

uri
Uri Uri

要求の送信先 URI。

戻り値

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

属性

注釈

このメソッドは、小さな画像や圧縮ファイルなどのバイナリ コンテンツをダウンロードするときに一般的に呼び出されます。 不要なバッファリングを防ぐために、 HttpClient.GetInputStreamAsync を使用して非常に大きなバイナリ コンテンツをストリームとしてダウンロードする必要があります。

この操作はブロックされません。 返された IAsyncOperationWithProgress ( IBufferHttpProgress の) は、応答本文全体が読み取られた後に完了します。

HttpClient クラスは、多くの場合、テキストをダウンロードして解析するためにアプリによって使用されます。 HTTP サーバーによって Content-Type ヘッダーで指定された文字エンコードが、HTTP 応答本文の文字エンコード (XML ドキュメント内の XML エンコードなど) と一致しない可能性があります。 テキストで HttpClient を使用する方法の 1 つは、GetStringAsync メソッドを呼び出し、返された文字列をテキスト パーサーに渡すことです。 ただし、 Content-Type が文字列として表現可能な型でない場合は、エラーが発生する可能性があります。 XML パーサーで HttpClient を 使用する信頼性の高い方法は、GetBufferAsync メソッドを呼び出し、"<?xml>" 要素のバッファーを解析することです。 次に、指定された文字エンコード ("<xmlversion="1.0" encoding="UTF-8"?>"など) を使用して、HTTP 応答本文を解析します。 他のテキスト形式の場合は、同様のメソッドを使用して、アプリが HTTP 応答本文の最初の部分をスキャンして、使用される文字エンコードを決定できます。

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

E_INVALIDARG

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

適用対象

こちらもご覧ください