Stream.ReadAtLeastAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Lee de forma asincrónica al menos un número mínimo de bytes de la secuencia actual, avanza la posición dentro de la secuencia por el número de bytes leídos y supervisa las solicitudes de cancelación.
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)
Parámetros
- minimumBytes
- Int32
Número mínimo de bytes que se van a leer en el búfer.
- throwOnEndOfStream
- Boolean
true
para producir una excepción si se alcanza el final de la secuencia antes de leer minimumBytes
bytes; false
para devolver menos que minimumBytes
cuando se alcanza el final de la secuencia.
El valor predeterminado es true
.
- cancellationToken
- CancellationToken
Token para supervisar solicitudes de cancelación.
Devoluciones
Tarea que representa la operación de lectura asincrónica. El valor de su propiedad Result contiene el número total de bytes leídos en el búfer. Se garantiza que es mayor o igual que minimumBytes
cuando throwOnEndOfStream
es true
. Será menor que minimumBytes
cuando se alcance el final de la secuencia y throwOnEndOfStream
sea false
. Puede ser menor que el número de bytes asignados en el búfer si muchos bytes no están disponibles actualmente.
Excepciones
minimumBytes
es negativo o es mayor que la longitud de buffer
.
throwOnEndOfStream
es true
y se alcanza el final de la secuencia antes de leer minimumBytes
bytes de datos.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Comentarios
Cuando minimumBytes
es 0 (cero), esta operación de lectura se completará sin esperar a que haya datos disponibles en la secuencia.