PipeStream.WriteAsync Metod

Definition

Överlagringar

Name Description
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

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.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Skriver asynkront ett angivet antal byte från en bytematris som börjar på en angiven position, avancerar den aktuella positionen i den här strömmen med antalet skrivna byte och övervakar begäranden om annullering.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

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.ValueTask WriteAsync(ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Overrides Function WriteAsync (buffer As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask

Parametrar

buffer
ReadOnlyMemory<Byte>

Den region av minne som du vill skriva data från.

cancellationToken
CancellationToken

Token som ska övervakas för annulleringsbegäranden. Standardvärdet är None.

Returer

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

Undantag

Stream stöder inte skrivning.

Det går inte att komma åt ett stängt rör.

Röret är trasigt.

Röret har inte anslutits än.

-eller-

Röret är i frånkopplat tillstånd.

-eller-

Rörhandtaget har inte ställts in. (Anropade implementeringen PipeStreamInitializeHandle(SafePipeHandle, Boolean, Boolean)?

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

Kommentarer

Med WriteAsync metoden kan du utföra resursintensiva I/O-åtgärder utan att blockera huvudtråden. Den här prestandaöverväganden är särskilt viktig i program där en tidskrävande strömåtgärd kan blockera användargränssnittstråden och få appen att se ut som om den inte fungerar. Asynkrona metoder används tillsammans med nyckelorden async och await i Visual Basic och C#.

Använd egenskapen CanWrite för att avgöra om den aktuella instansen stöder skrivning.

Om åtgärden avbryts innan den slutförs innehåller Canceled den returnerade aktiviteten värdet för Status egenskapen.

Gäller för

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Skriver asynkront ett angivet antal byte från en bytematris som börjar på en angiven position, 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. Standardvärdet är None.

Returer

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

Undantag

buffer är null.

Är offset negativ.

-eller-

Är count negativ.

buffer. Längd – offset är mindre än count.

Stream stöder inte skrivning.

Det går inte att komma åt ett stängt rör.

Röret är trasigt.

Röret har inte anslutits än.

-eller-

Röret är i frånkopplat tillstånd.

-eller-

Rörhandtaget har inte ställts in. (Anropade implementeringen PipeStreamInitializeHandle(SafePipeHandle, Boolean, Boolean)?

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

Kommentarer

Med WriteAsync metoden kan du utföra resursintensiva I/O-åtgärder utan att blockera huvudtråden. Den här prestandaöverväganden är särskilt viktig i program där en tidskrävande strömåtgärd kan blockera användargränssnittstråden och få appen att se ut som om den inte fungerar. Asynkrona metoder används tillsammans med nyckelorden async och await i Visual Basic och C#.

Använd egenskapen CanWrite för att avgöra om den aktuella instansen stöder skrivning.

Om åtgärden avbryts innan den slutförs innehåller TaskStatus.Canceled den returnerade aktiviteten värdet för Status egenskapen.

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