Partager via


BufferedStream.CopyToAsync(Stream, Int32, CancellationToken) Méthode

Définition

Lit de manière asynchrone les octets du flux mis en mémoire tampon actuel et les écrit dans un autre flux, à l’aide d’une taille de mémoire tampon et d’un jeton d’annulation spécifiés.

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

Paramètres

destination
Stream

Flux vers lequel le contenu du flux mis en mémoire tampon actuelle sera copié.

bufferSize
Int32

Taille, en octets, de la mémoire tampon. Cette valeur doit être supérieure à zéro. La taille par défaut est 81920.

cancellationToken
CancellationToken

Jeton à surveiller pour les demandes d’annulation. La valeur par défaut est None.

Retours

Tâche qui représente l’opération de copie asynchrone.

Exceptions

Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.

Remarques

La CopyToAsync méthode vous permet d’effectuer des opérations d’E/S gourmandes en ressources sans bloquer le thread principal. Cette considération en matière de performances est particulièrement importante dans une application Windows 8.x Store ou une application de bureau où une opération de flux de temps peut bloquer le thread d’interface utilisateur et faire apparaître votre application comme si elle ne fonctionne pas. Les méthodes asynchrones sont utilisées conjointement avec les async mots clés et await Visual Basic et C#.

Si l’opération est annulée avant sa fin, la tâche retournée contient la Canceled valeur de la Status propriété.

La copie commence à la position actuelle dans le flux actuel.

Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de façon synchrone. Pour les exceptions stockées, consultez les exceptions levées par CopyTo(Stream, Int32).

S’applique à