HttpClient.TryGetBufferAsync(Uri) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Envoyez une requête GET à l’URI spécifié et retournez le corps de la réponse en tant que HttpGetBufferResult avec une valeur IBuffer dans une opération asynchrone. Pour obtenir des conseils de programmation pour la classe HttpClient et des exemples de code, consultez la rubrique conceptuelle 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)
Paramètres
Retours
Objet représentant l’opération asynchrone.
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10, version 1903 (introduit dans 10.0.18362.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v8.0)
|
Remarques
Cette méthode est couramment appelée lors du téléchargement de contenu binaire, tel que de petites images et de fichiers compressés. Le contenu binaire très volumineux doit être téléchargé en tant que flux avec HttpClient.TryGetInputStreamAsync pour empêcher la mise en mémoire tampon inutile.
Cette opération ne se bloque pas. L’IAsyncOperationWithProgress retourné (de HttpGetBufferResult et HttpProgress) se termine une fois le corps de la réponse lu.
La classe HttpClient est souvent utilisée par une application pour télécharger, puis analyser du texte. Il est possible que l’encodage de caractères spécifié dans l’en-tête Content-Type par un serveur HTTP ne corresponde pas à l’encodage de caractères du corps de la réponse HTTP (encodage XML dans un document XML, par exemple). Une façon d’utiliser HttpClient avec du texte consiste à appeler la méthode TryGetStringAsync et à passer la chaîne retournée à l’analyseur de texte. Toutefois, cela peut entraîner des erreurs si content-type n’est pas un type expressible en tant que chaîne. Un moyen fiable d’utiliser HttpClient avec un analyseur XML consiste à appeler la méthode TryGetBufferAsync et à analyser la mémoire tampon pour l’élément «< ?xml> ». Utilisez ensuite l’encodage de caractères spécifié (« <xmlversion="1.0 » encoding="UTF-8 »?> », par exemple) pour analyser le corps de la réponse HTTP. Pour d’autres formats de texte, des méthodes similaires peuvent être utilisées lorsque l’application analyse la partie initiale du corps de la réponse HTTP pour déterminer l’encodage de caractères utilisé.