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 свойства содержит общее количество байтов, считываемых в буфер. Это гарантируется, что оно больше или равно minimumBytesthrowOnEndOfStream.true Это будет меньше, чем minimumBytes при достижении конца потока.throwOnEndOfStreamfalse Это может быть меньше количества байтов, выделенных в буфере, если в данный момент не доступно много байтов.
Исключения
minimumBytes является отрицательным или больше длины buffer.
throwOnEndOfStream — true и конец потока достигается перед чтением minimumBytes байтов данных.
Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.
Комментарии
Если minimumBytes значение равно 0 (ноль), эта операция чтения будет завершена без ожидания доступных данных в потоке.