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 (ноль), эта операция чтения будет завершена без ожидания доступных данных в потоке.