Freigeben über


BufferedStream.CopyToAsync(Stream, Int32, CancellationToken) Methode

Definition

Liest die Bytes asynchron aus dem aktuellen gepufferten Stream und schreibt sie unter Verwendung einer angegebenen Puffergröße und eines Abbruchtokens in einen anderen Stream.

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 Stream, in den der Inhalt des aktuellen gepufferten Stream 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 Überlegungen zur Leistung sind insbesondere in einer Windows 8.x Store-App oder Desktop-App wichtig, bei der ein zeitaufwendiger Streamingvorgang den UI-Thread blockieren kann und es dann den Anschein hat, dass Ihre App 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 Canceled Wert für die Status Eigenschaft.

Das Kopieren beginnt an der aktuellen Position im aktuellen 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: