Sdílet prostřednictvím


Stream.ReadAtLeastAsync Metoda

Definice

Asynchronně přečte alespoň minimální počet bajtů z aktuálního datového proudu, posune pozici v rámci streamu o počet přečtených bajtů a monitoruje žádosti o zrušení.

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)

Parametry

buffer
Memory<Byte>

Oblast paměti, do které chcete data zapsat.

minimumBytes
Int32

Minimální počet bajtů, které se mají načíst do vyrovnávací paměti.

throwOnEndOfStream
Boolean

true vyvolá výjimku, pokud se před čtením minimumBytes bajtů dosáhne konce datového proudu; false vrátí se méně, než minimumBytes když je dosaženo konce datového proudu. Výchozí formát je true.

cancellationToken
CancellationToken

Token, který se má monitorovat pro žádosti o zrušení.

Návraty

Úloha, která představuje asynchronní operaci čtení. Hodnota jeho Result vlastnosti obsahuje celkový počet bajtů načtených do vyrovnávací paměti. Je zaručeno, že bude větší nebo roven minimumBytes , pokud throwOnEndOfStream je truehodnota . To bude menší, než minimumBytes když se dosáhne konce datového proudu a throwOnEndOfStream bude false. To může být menší než počet bajtů přidělených ve vyrovnávací paměti, pokud tento počet bajtů není aktuálně k dispozici.

Výjimky

minimumBytes je záporná nebo větší než délka buffersouboru .

throwOnEndOfStream je true a před čtením minimumBytes bajtů dat se dosáhne konce datového proudu.

Token zrušení byl zrušen. Tato výjimka je uložena ve vrácené úloze.

Poznámky

Pokud minimumBytes je hodnota 0 (nula), bude tato operace čtení dokončena bez čekání na dostupná data ve streamu.

Platí pro