Stream.ReadAtLeastAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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.