Stream.ReadAtLeastAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Asynchronicznie odczytuje co najmniej minimalną liczbę bajtów z bieżącego strumienia, zwiększa pozycję w strumieniu przez liczbę odczytanych bajtów i monitoruje żądania anulowania.
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
Minimalna liczba bajtów do odczytu do buforu.
- throwOnEndOfStream
- Boolean
true aby zgłosić wyjątek, jeśli osiągnięto koniec strumienia przed odczytem minimumBytes bajtów; false aby zwrócić mniej niż minimumBytes po osiągnięciu końca strumienia.
Wartość domyślna to true.
- cancellationToken
- CancellationToken
Token do monitorowania żądań anulowania.
Zwraca
Zadanie reprezentujące asynchroniczną operację odczytu. Wartość jej Result właściwości zawiera całkowitą liczbę bajtów odczytanych do buforu. Gwarantuje to, że wartość jest większa niż lub równa minimumBytes , gdy throwOnEndOfStream parametr ma truewartość . Będzie to mniejsze niż minimumBytes po osiągnięciu końca strumienia i throwOnEndOfStream wartości .false Może to być mniejsza niż liczba bajtów przydzielonych w buforze, jeśli liczba bajtów nie jest obecnie dostępna.
Wyjątki
minimumBytes jest ujemna lub jest większa niż długość buffer.
throwOnEndOfStream element jest true i osiągnięto koniec strumienia przed odczytaniem minimumBytes bajtów danych.
Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.
Uwagi
Gdy minimumBytes wartość to 0 (zero), ta operacja odczytu zostanie ukończona bez oczekiwania na dostępne dane w strumieniu.