Поделиться через


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 ( httpGetBufferResult и HttpProgress) завершается после считывания всего текста ответа.

Класс HttpClient часто используется приложением для скачивания и последующего анализа текста. Возможно, кодировка символов, указанная в заголовке Content-Type HTTP-сервером , не соответствует кодировке символов текста HTTP-ответа (например, кодировка XML в XML-документе). Одним из способов использования HttpClient с текстом является вызов метода TryGetStringAsync и передача возвращенной строки в средство синтаксического анализа текста. Однако это может привести к ошибкам, если Content-Type не является типом, который можно выразить в виде строки. Надежный способ использования HttpClient со средством синтаксического анализа XML заключается в вызове метода TryGetBufferAsync и анализе буфера для элемента "<?xml>". Затем используйте указанную кодировку символов ("<xmlversion="1.0" encoding="UTF-8"?>", например), чтобы проанализировать текст HTTP-ответа. Для других текстовых форматов аналогичные методы можно использовать, когда приложение сканирует начальную часть текста HTTP-ответа, чтобы определить используемую кодировку символов.

Применяется к

См. также раздел