Compartir a través de


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

Definición

Lee asincrónicamente los bytes de la secuencia almacenada en búfer actual y los escribe en otra secuencia, mediante un tamaño de búfer y un token de cancelación especificados.

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

Parámetros

destination
Stream

Secuencia a la que se copiará el contenido de la secuencia almacenada en búfer actual.

bufferSize
Int32

Tamaño, en bytes, del búfer. Este valor debe ser mayor que cero. El tamaño predeterminado es 81920.

cancellationToken
CancellationToken

Token que se va a supervisar para las solicitudes de cancelación. El valor predeterminado es None.

Devoluciones

Tarea que representa la operación de copia asincrónica.

Excepciones

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

Comentarios

El CopyToAsync método permite realizar operaciones de E/S intensivas en recursos sin bloquear el subproceso principal. Esta consideración de rendimiento es especialmente importante en una aplicación de la Tienda Windows 8.x o una aplicación de escritorio en la que una operación de secuencia que consume mucho tiempo puede bloquear el subproceso de la interfaz de usuario y hacer que la aplicación aparezca como si no estuviera funcionando. Los métodos asincrónicos se usan junto con las async palabras clave y await en Visual Basic y C#.

Si la operación se cancela antes de completarse, la tarea devuelta contiene el Canceled valor de la Status propiedad .

La copia comienza en la posición actual de la secuencia actual.

Este método almacena en la tarea que devuelve todas las excepciones de no uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, todavía se producen sincrónicamente. Para las excepciones almacenadas, consulte las excepciones producidas por CopyTo(Stream, Int32).

Se aplica a