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ě čte alespoň minimální počet bajtů z aktuálního datového proudu, posune pozici v rámci datového proudu 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í číst do vyrovnávací paměti.
- throwOnEndOfStream
- Boolean
true vyvolání výjimky v případě, že se před čtením minimumBytes bajtů dosáhne konce datového proudu, false vrátí méně než minimumBytes při dosažení konce datového proudu.
Výchozí hodnota je true.
- cancellationToken
- CancellationToken
Token pro monitorování žádostí o zrušení.
Návraty
Úloha, která představuje asynchronní operaci čtení. Hodnota jeho Result vlastnosti obsahuje celkový počet bajtů přečtených do vyrovnávací paměti. To je zaručeno, že je větší než nebo rovno minimumBytes , pokud throwOnEndOfStream je true. To bude menší než minimumBytes při dosažení konce datového proudu a throwOnEndOfStream bude false. To může být menší než počet bajtů přidělených v vyrovnávací paměti, pokud tento počet bajtů není aktuálně k dispozici.
Výjimky
minimumBytes je záporná nebo je větší než délka buffer.
throwOnEndOfStream je true a konec datového proudu je dosažen před čtením minimumBytes bajtů dat.
Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.
Poznámky
Pokud minimumBytes je hodnota 0 (nula), bude tato operace čtení dokončena bez čekání na dostupná data ve streamu.