Stream.ReadAtLeastAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Асинхронно считывает по крайней мере минимальное количество байтов из текущего потока, перемещает позицию в потоке на число прочитанных байтов и отслеживает запросы отмены.
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)
Параметры
- minimumBytes
- Int32
Минимальное количество байтов для считывания в буфер.
- throwOnEndOfStream
- Boolean
true Значение , чтобы создать исключение, если конец потока достигается до считывания minimumBytes байтов; false значение , чтобы возвращать меньше, чем minimumBytes при достижении конца потока.
Значение по умолчанию — true.
- cancellationToken
- CancellationToken
Токен для отслеживания запросов отмены.
Возвращаемое значение
Задача, представляющая асинхронную операцию чтения. Значение свойства Result содержит общее число байтов, считанных в буфер. Оно гарантированно будет больше или равно minimumBytes , если throwOnEndOfStream имеет значение true. Это значение будет меньше, чем minimumBytes при достижении конца потока и throwOnEndOfStream равно false. Это может быть меньше, чем количество байтов, выделенных в буфере, если это количество байтов в настоящее время недоступно.
Исключения
minimumBytes имеет отрицательное значение или больше длины buffer.
throwOnEndOfStream — и true конец потока достигается перед чтением minimumBytes байтов данных.
Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.
Комментарии
Если minimumBytes значение равно 0 (ноль), эта операция чтения будет завершена без ожидания доступных данных в потоке.