BufferedStream.WriteAsync(Byte[], Int32, Int32, CancellationToken) Metodo

Definizione

Scrive in modo asincrono una sequenza di byte nel flusso corrente, sposta in avanti la posizione corrente all'interno del flusso in base al numero di byte scritti e monitora le richieste di annullamento.

public:
 override System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task

Parametri

buffer
Byte[]

Buffer da cui scrivere i dati.

offset
Int32

Offset dei byte in base zero in buffer da cui iniziare a copiare i byte nel flusso.

count
Int32

Numero massimo di byte da scrivere.

cancellationToken
CancellationToken

Token da monitorare per le richieste di annullamento.

Valori restituiti

Attività che rappresenta l'operazione di scrittura asincrona.

Eccezioni

buffer è null.

offset o count è negativo.

La somma di offset e count è maggiore della lunghezza del buffer.

Il flusso non supporta la scrittura.

Il flusso è stato eliminato.

Il flusso è attualmente in uso da un'operazione di scrittura precedente.

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Commenti

È possibile creare un token di annullamento creando un'istanza della CancellationTokenSource classe e passando la Token proprietà come cancellationToken parametro.

Questo metodo archivia nell'attività che 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 Write(Byte[], Int32, Int32).

Si applica a