HttpClient.TryGetBufferAsync(Uri) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 GET 要求傳送至指定的 Uri,並以非同步作業中的 IBuffer 值傳迴響應本文作為 HttpGetBufferResult 。 如需 HttpClient 類別的程式設計指引和程式碼範例,請參閱 HttpClient 概念性主題。
public:
virtual IAsyncOperationWithProgress<HttpGetBufferResult ^, HttpProgress> ^ TryGetBufferAsync(Uri ^ uri) = TryGetBufferAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpGetBufferResult, HttpProgress> TryGetBufferAsync(Uri const& uri);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpGetBufferResult,HttpProgress> TryGetBufferAsync(System.Uri uri);
function tryGetBufferAsync(uri)
Public Function TryGetBufferAsync (uri As Uri) As IAsyncOperationWithProgress(Of HttpGetBufferResult, HttpProgress)
參數
傳回
表示非同步作業的 物件。
- 屬性
Windows 需求
裝置系列 |
Windows 10, version 1903 (已於 10.0.18362.0 引進)
|
API contract |
Windows.Foundation.UniversalApiContract (已於 v8.0 引進)
|
備註
下載小型影像和壓縮檔等二進位內容時,通常會呼叫這個方法。 應該使用 HttpClient.TryGetInputStreamAsync 將非常大型的二進位內容下載為數據流,以防止不必要的緩衝處理。
這項作業不會封鎖。 傳回的 IAsyncOperationWithProgress (HttpGetBufferResult 和 HttpProgress) 會在讀取整個回應本文之後完成。
HttpClient類別通常由應用程式用來下載並剖析文字。 HTTP 伺服器在 Content-Type 標頭中指定的字元編碼可能不符合 HTTP 回應本文的字元編碼, (XML 檔中的 XML 編碼,例如) 。 搭配文字使用 HttpClient 的其中一種方式是呼叫 TryGetStringAsync 方法,並將傳回的字串傳遞至文字剖析器。 不過,如果 Content-Type 不是字串可表達的類型,這可能會導致錯誤。 搭配 XML 剖析器使用 HttpClient 的可靠方法是呼叫 TryGetBufferAsync 方法,並剖析 「 < ?xml > 」 元素的緩衝區。 然後使用指定的字元編碼 (「 < xmlversion=」1.0「 encoding=」UTF-8「? > 」,例如) 剖析 HTTP 回應本文。 針對其他文字格式,可以使用類似的方法,其中應用程式會掃描 HTTP 回應本文的初始部分,以判斷所使用的字元編碼方式。