HttpClient.TryGetBufferAsync(Uri) 方法

定义

将 GET 请求发送到指定的 URI,并在异步操作中以 HttpGetBufferResult 的形式返回响应正文,其值为 IBuffer。 有关 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)

参数

uri
Uri Uri

请求发送到的 URI。

返回

表示异步操作的 对象。

属性

Windows 要求

设备系列
Windows 10, version 1903 (在 10.0.18362.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v8.0 中引入)

注解

下载二进制内容(如小图像和压缩文件)时,通常调用此方法。 应使用 HttpClient.TryGetInputStreamAsync 将非常大的二进制内容下载为流,以防止不必要的缓冲。

此操作不会阻止。 返回的 IAsyncOperationWithProgress (HttpGetBufferResultHttpProgress) 在读取整个响应正文后完成。

应用通常使用 HttpClient 类下载并分析文本。 HTTP 服务器在 Content-Type 标头中指定的字符编码可能与 HTTP 响应正文的字符编码不匹配, (XML 文档中的 XML 编码,例如) 。 对文本使用 HttpClient 的一种方法是调用 TryGetStringAsync 方法,并将返回的字符串传递给文本分析器。 但是,如果 Content-Type 不是可表示为字符串的类型,则可能会导致错误。 将 HttpClient 与 XML 分析程序配合使用的可靠方法是调用 TryGetBufferAsync 方法并分析“xml>”<元素的缓冲区。 然后使用指定的字符编码 (“<xmlversion=”1.0“ encoding=”UTF-8“?>”,例如) 来分析 HTTP 响应正文。 对于其他文本格式,应用扫描 HTTP 响应正文的初始部分以确定使用的字符编码时,可以使用类似的方法。

适用于

另请参阅