Stream.ReadAtLeastAsync Methode

Definitie

Asynchroon leest ten minste een minimum aantal bytes uit de huidige stroom, verplaatst de positie binnen de stream door het aantal gelezen bytes en bewaakt annuleringsaanvragen.

public System.Threading.Tasks.ValueTask<int> ReadAtLeastAsync(Memory<byte> buffer, int minimumBytes, bool throwOnEndOfStream = true, System.Threading.CancellationToken cancellationToken = default);
member this.ReadAtLeastAsync : Memory<byte> * int * bool * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReadAtLeastAsync (buffer As Memory(Of Byte), minimumBytes As Integer, Optional throwOnEndOfStream As Boolean = true, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parameters

buffer
Memory<Byte>

Het geheugengebied waar de gegevens naar moeten worden geschreven.

minimumBytes
Int32

Het minimum aantal bytes dat in de buffer moet worden gelezen.

throwOnEndOfStream
Boolean

true om een uitzondering te genereren als het einde van de stream wordt bereikt voordat het bytes wordt gelezen minimumBytes . false Als u minder wilt retourneren dan minimumBytes wanneer het einde van de stream is bereikt. De standaardwaarde is true.

cancellationToken
CancellationToken

Het token dat moet worden gecontroleerd op annuleringsaanvragen.

Retouren

Een taak die de asynchrone leesbewerking vertegenwoordigt. De waarde van Result de eigenschap bevat het totale aantal bytes dat in de buffer is gelezen. Dit is gegarandeerd groter dan of gelijk aan minimumBytes wanneer throwOnEndOfStream .true Dit is minder dan minimumBytes wanneer het einde van de stream is bereikt en throwOnEndOfStream is false. Dit kan kleiner zijn dan het aantal bytes dat in de buffer is toegewezen als er momenteel niet veel bytes beschikbaar zijn.

Uitzonderingen

minimumBytes is negatief of is groter dan de lengte van buffer.

throwOnEndOfStream is true en het einde van de stream wordt bereikt voordat u bytes aan gegevens leest minimumBytes .

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

Opmerkingen

Wanneer minimumBytes is 0 (nul), wordt deze leesbewerking voltooid zonder te wachten op beschikbare gegevens in de stream.

Van toepassing op