HttpClient.GetBufferAsync(Uri) 方法

定義

將 GET 要求傳送至指定的 Uri,並在非同步作業中以緩衝區的形式傳迴響應主體。 如需 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 的其中一種方式是呼叫 GetStringAsync 方法,並將傳回的字串傳遞至文字剖析器。 不過,如果 Content-Type 不是字串可表達的類型,這可能會導致錯誤。 搭配 XML 剖析器使用 HttpClient 的可靠方式是呼叫 GetBufferAsync 方法,並剖析 「 < ?xml > 」 專案的緩衝區。 然後使用指定的字元編碼 (「 < xmlversion=」1.0「 encoding=」UTF-8「? > 」,例如) 剖析 HTTP 回應本文。 針對其他文字格式,可以使用類似的方法,其中應用程式會掃描 HTTP 回應本文的初始部分,以判斷所使用的字元編碼方式。

以下是此函式擲回的例外狀況。

E_INVALIDARG

uri參數是 Visual Basic) 中 NothingNull參考 (。

適用於

另請參閱