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

Definition

Skriver asynkront en sekvens med byte till den aktuella strömmen, avancerar den aktuella positionen i den här strömmen med antalet skrivna byte och övervakar begäranden om annullering.

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

Parametrar

buffer
Byte[]

Bufferten att skriva data från.

offset
Int32

Den nollbaserade byteförskjutningen buffer där byte ska börja kopieras till strömmen.

count
Int32

Det maximala antalet byte som ska skrivas.

cancellationToken
CancellationToken

Token som ska övervakas för annulleringsbegäranden.

Returer

En uppgift som representerar den asynkrona skrivåtgärden.

Undantag

buffer är null.

offset eller count är negativ.

Summan av offset och count är större än buffertlängden.

Strömmen stöder inte skrivning.

Strömmen har tagits bort.

Strömmen används för närvarande av en tidigare skrivåtgärd.

Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.

Kommentarer

Du kan skapa en annulleringstoken genom att skapa en instans av CancellationTokenSource klassen och skicka Token egenskapen som cancellationToken parameter.

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Write(Byte[], Int32, Int32).

Gäller för