HttpClient.TryGetBufferAsync(Uri) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Senden Sie eine GET-Anforderung an den angegebenen Uri, und geben Sie den Antworttext als HttpGetBufferResult mit einem IBuffer-Wert in einem asynchronen Vorgang zurück. Programmieranleitungen für die HttpClient-Klasse und Codebeispiele finden Sie im Konzeptthema 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)
Parameter
Gibt zurück
Das Objekt, das den asynchronen Vorgang darstellt.
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10, version 1903 (eingeführt in 10.0.18362.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v8.0)
|
Hinweise
Diese Methode wird häufig beim Herunterladen von binären Inhalten wie kleinen Bildern und komprimierten Dateien bezeichnet. Sehr große binäre Inhalte sollten als Stream mit HttpClient.TryGetInputStreamAsync heruntergeladen werden, um nicht benötigte Pufferung zu verhindern.
Dieser Vorgang wird nicht blockiert. Der zurückgegebene IAsyncOperationWithProgress (von HttpGetBufferResult und HttpProgress) wird abgeschlossen, nachdem der gesamte Antworttext gelesen wurde.
Die HttpClient-Klasse wird häufig von einer App zum Herunterladen und Analysieren von Text verwendet. Es ist möglich, dass die im Content-Type-Header von einem HTTP-Server angegebene Zeichencodierung nicht mit der Zeichencodierung des HTTP-Antworttexts übereinstimmt (z. B. die XML-Codierung in einem XML-Dokument). Eine Möglichkeit, HttpClient mit Text zu verwenden, besteht darin, die TryGetStringAsync-Methode aufzurufen und die zurückgegebene Zeichenfolge an den Textparser zu übergeben. Dies kann jedoch zu Fehlern führen, wenn der Inhaltstyp kein Typ ist, der als Zeichenfolge ausgedrückt werden kann. Eine zuverlässige Möglichkeit, HttpClient mit einem XML-Parser zu verwenden, besteht darin, die TryGetBufferAsync-Methode aufzurufen und den Puffer für das "<?xml"->Element zu analysieren. Verwenden Sie dann die angegebene Zeichencodierung ("<xmlversion="1.0" encoding="UTF-8"?>", z. B.), um den HTTP-Antworttext zu analysieren. Für andere Textformate können ähnliche Methoden verwendet werden, wenn die App den ersten Teil des HTTP-Antworttexts scannt, um die verwendete Zeichencodierung zu bestimmen.