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 true
wartość . 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.