Freigeben über


GZipStream.CopyToAsync(Stream, Int32, CancellationToken) Methode

Definition

Liest die Bytes asynchron aus dem aktuellen GZip-Datenstrom und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen anderen Datenstrom.

public:
 override System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, int bufferSize, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
override this.CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function CopyToAsync (destination As Stream, bufferSize As Integer, cancellationToken As CancellationToken) As Task

Parameter

destination
Stream

Der Datenstrom, in den der Inhalt des aktuellen GZip-Datenstroms kopiert wird.

bufferSize
Int32

Die Größe des Cookies in Bytes. Dieser Wert muss größer als 0 sein. Die Standardgröße ist 81920.

cancellationToken
CancellationToken

Das Token zum Überwachen von Abbruchanforderungen. Der Standardwert ist None.

Gibt zurück

Eine Aufgabe, die den asynchronen Kopiervorgang darstellt.

Ausnahmen

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Hinweise

Mit CopyToAsync der -Methode können Sie ressourcenintensive E/A-Vorgänge ausführen, ohne den Standard Thread zu blockieren. Diese Leistungsüberlegung ist besonders wichtig in einer Desktop-App, bei der ein zeitaufwändiger Streamvorgang den UI-Thread blockieren und Ihre App so aussehen lässt, als ob sie nicht funktioniert. Die asynchronen Methoden werden in Verbindung mit den async Schlüsselwörtern und await in Visual Basic und C# verwendet.

Wenn der Vorgang vor Abschluss abgebrochen wird, enthält die zurückgegebene Aufgabe den TaskStatus.Canceled Wert für die Task.Status Eigenschaft.

Das Kopieren beginnt an der aktuellen Position im aktuellen GZip-Stream.

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten CopyTo(Stream, Int32)Ausnahmen.

Gilt für: