HttpClient.TryGetBufferAsync(Uri) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将 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)
参数
返回
表示异步操作的 对象。
- 属性
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 不是可表示为字符串的类型,则可能会导致错误。 将 HttpClient 与 XML 分析程序配合使用的可靠方法是调用 TryGetBufferAsync 方法并分析“xml>”<元素的缓冲区。 然后使用指定的字符编码 (“<xmlversion=”1.0“ encoding=”UTF-8“?>”,例如) 来分析 HTTP 响应正文。 对于其他文本格式,应用扫描 HTTP 响应正文的初始部分以确定使用的字符编码时,可以使用类似的方法。