BufferedStream.CopyToAsync(Stream, Int32, CancellationToken) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Legge in modo asincrono i byte dal flusso memorizzato nel buffer corrente e li scrive in un altro flusso, usando dimensioni del buffer e un token di annullamento specificati.
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
Parametri
- destination
- Stream
Flusso in cui verrà copiato il contenuto del flusso memorizzato nel buffer corrente.
- bufferSize
- Int32
Dimensione del buffer, in byte. Il valore deve essere maggiore di zero. La dimensione predefinita è 81920.
- cancellationToken
- CancellationToken
Token da monitorare per le richieste di annullamento. Il valore predefinito è None.
Restituisce
Attività che rappresenta l'operazione di copia asincrona.
Eccezioni
Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.
Commenti
Il CopyToAsync
metodo consente di eseguire operazioni di I/O a elevato utilizzo di risorse senza bloccare il thread principale. Questa considerazione sulle prestazioni è particolarmente importante in un'app dello Store Windows 8.x o in un'app desktop in cui un'operazione di flusso che richiede molto tempo può bloccare il thread dell'interfaccia utente e rendere l'app come se non funzionasse. I metodi asincroni vengono usati insieme alle async
parole chiave e await
in Visual Basic e C#.
Se l'operazione viene annullata prima del completamento, l'attività restituita contiene il Canceled valore per la Status proprietà .
La copia inizia in corrispondenza della posizione corrente nel flusso corrente.
Questo metodo archivia nell'attività restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da CopyTo(Stream, Int32).