FileStream.CopyToAsync(Stream, Int32, CancellationToken) Methode

Definition

Liest asynchron die Bytes aus dem aktuellen Dateidatenstrom und schreibt sie in einen anderen Datenstrom, wobei eine angegebene Puffergröße und ein Abbruchtoken verwendet wird.

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 Dateidatenstroms kopiert wird.

bufferSize
Int32

Die Größe des Puffers in Bytes. Dieser Wert muss größer als Null sein.

cancellationToken
CancellationToken

Das Token, das auf Abbruchanforderungen überwacht werden soll. 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 der CopyToAsync Methode können Sie ressourcenintensive E/A-Vorgänge ausführen, ohne den Hauptthread zu blockieren. Diese Leistungsüberlegung ist in einer Windows 8.x Store-App oder Desktop-App besonders wichtig, bei der ein zeitaufwendiger Streamvorgang den UI-Thread blockieren und ihre App so erscheinen lässt, als ob sie nicht funktioniert. Die asynchronen Methoden werden in Verbindung mit den Schlüsselwörtern async in Visual Basic und C# await verwendet.

Wenn der Vorgang abgebrochen wird, bevor er abgeschlossen wird, enthält der zurückgegebene Vorgang den TaskStatus.Canceled Wert für die Task.Status Eigenschaft.

Das Kopieren beginnt an der aktuellen Position im aktuellen Dateidatenstrom.

Ein Beispiel für das Kopieren zwischen zwei Datenströmen finden Sie unter der CopyToAsync(Stream) Überladung.

Gilt für: