DeflateStream.ReadAsync Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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.