DeflateStream.ReadAsync Methode

Definitie

Overloads

Name Description
ReadAsync(Memory<Byte>, CancellationToken)

Asynchroon leest een reeks bytes uit de huidige stroom deflate, schrijft deze naar een bytegeheugenbereik, verplaatst de positie binnen de stroom Deflate door het aantal bytes lezen en bewaakt annuleringsaanvragen.

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

Asynchroon leest een reeks bytes uit de huidige stroom deflate, schrijft deze naar een bytematrix, verplaatst de positie binnen de stroom Deflate door het aantal gelezen bytes en bewaakt annuleringsaanvragen.

ReadAsync(Memory<Byte>, CancellationToken)

Asynchroon leest een reeks bytes uit de huidige stroom deflate, schrijft deze naar een bytegeheugenbereik, verplaatst de positie binnen de stroom Deflate door het aantal bytes lezen en bewaakt annuleringsaanvragen.

public override System.Threading.Tasks.ValueTask<int> ReadAsync(Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parameters

buffer
Memory<Byte>

Het geheugengebied waar de gegevens naar moeten worden geschreven.

cancellationToken
CancellationToken

Het token dat moet worden gecontroleerd op annuleringsaanvragen. De standaardwaarde is None.

Retouren

Een taak die de asynchrone leesbewerking vertegenwoordigt, waarmee het totale aantal bytes in de buffer wordt verpakt. De resultaatwaarde kan kleiner zijn dan het aantal bytes dat in de buffer is toegewezen als dat aantal bytes momenteel niet beschikbaar is of kan 0 (nul) zijn als het einde van de stroom Deflate is bereikt.

Uitzonderingen

Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.

Opmerkingen

Important

Vanaf .NET 6 kan deze methode mogelijk niet zoveel bytes lezen als is aangevraagd. Zie Gedeeltelijke en nul-byte-leesbewerkingen in DeflateStream, GZipStream en CryptoStream voor meer informatie.

Met de ReadAsync methode kunt u resource-intensieve I/O-bewerkingen uitvoeren zonder de hoofdthread te blokkeren. Deze prestatieoverweging is met name belangrijk in desktop-apps waarbij een tijdrovende streambewerking de UI-thread kan blokkeren en de app kan weergeven alsof deze niet werkt. De asynchrone methoden worden gebruikt in combinatie met de trefwoorden async en await in Visual Basic en C#.

Gebruik de CanRead eigenschap om te bepalen of het huidige exemplaar leesopties ondersteunt.

Als de bewerking wordt geannuleerd voordat deze is voltooid, bevat de geretourneerde taak de TaskStatus.Canceled waarde voor de Task.Status eigenschap.

Van toepassing op

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

Asynchroon leest een reeks bytes uit de huidige stroom deflate, schrijft deze naar een bytematrix, verplaatst de positie binnen de stroom Deflate door het aantal gelezen bytes en bewaakt annuleringsaanvragen.

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

Parameters

arraybuffer
Byte[]

De buffer om de gegevens naar te schrijven.

offset
Int32

De byte-offset waarop gegevens uit de stroom Deflate moeten worden geschreven.

count
Int32

Het maximum aantal bytes dat moet worden gelezen.

cancellationToken
CancellationToken

Het token dat moet worden gecontroleerd op annuleringsaanvragen. De standaardwaarde is None.

Retouren

Een taak die de asynchrone leesbewerking vertegenwoordigt, waarmee het totale aantal bytes in de buffer wordt verpakt. De resultaatwaarde kan kleiner zijn dan het aantal aangevraagde bytes als het aantal beschikbare bytes kleiner is dan het aangevraagde getal, of het kan 0 (nul) zijn als het einde van de stroom Deflate is bereikt.

Uitzonderingen

Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.

Opmerkingen

Important

Vanaf .NET 6 kan deze methode mogelijk niet zoveel bytes lezen als is aangevraagd. Zie Gedeeltelijke en nul-byte-leesbewerkingen in DeflateStream, GZipStream en CryptoStream voor meer informatie.

Met de ReadAsync methode kunt u resource-intensieve I/O-bewerkingen uitvoeren zonder de hoofdthread te blokkeren. Deze prestatieoverweging is met name belangrijk in desktop-apps waarbij een tijdrovende streambewerking de UI-thread kan blokkeren en de app kan weergeven alsof deze niet werkt. De asynchrone methoden worden gebruikt in combinatie met de trefwoorden async en await in Visual Basic en C#.

Gebruik de CanRead eigenschap om te bepalen of het huidige exemplaar leesopties ondersteunt.

Als de bewerking wordt geannuleerd voordat deze is voltooid, bevat de geretourneerde taak de TaskStatus.Canceled waarde voor de Task.Status eigenschap.

Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door Read(Byte[], Int32, Int32)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.

Van toepassing op