HttpClient.GetBufferAsync(Uri) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した 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)
パラメーター
戻り値
非同期操作を表す オブジェクト。
- 属性
注釈
このメソッドは、小さな画像や圧縮ファイルなどのバイナリ コンテンツをダウンロードするときに一般的に呼び出されます。 不要なバッファリングを防ぐために、 HttpClient.GetInputStreamAsync を使用して非常に大きなバイナリ コンテンツをストリームとしてダウンロードする必要があります。
この操作はブロックされません。 返された IAsyncOperationWithProgress ( IBuffer と HttpProgress の) は、応答本文全体が読み取られた後に完了します。
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)。