Stream.ReadAtLeastAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Lê de forma assíncrona pelo menos um número mínimo de bytes do fluxo atual, avança a posição dentro do fluxo pelo número de bytes lidos e monitora solicitações de cancelamento.
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
O número mínimo de bytes a serem lidos no buffer.
- throwOnEndOfStream
- Boolean
true
para gerar uma exceção se o final do fluxo for atingido antes da leitura minimumBytes
de bytes; false
para retornar menos do que minimumBytes
quando o final do fluxo for atingido.
O padrão é true
.
- cancellationToken
- CancellationToken
O token a se monitorar para solicitações de cancelamento.
Retornos
Uma tarefa que representa a operação de leitura assíncrona. O valor de sua propriedade Result contém o número total de bytes lidos no buffer. É garantido que isso seja maior ou igual a minimumBytes
quando throwOnEndOfStream
é true
. Isso será menor do que minimumBytes
quando o final do fluxo for atingido e throwOnEndOfStream
for false
. Isso pode ser menor do que o número de bytes alocados no buffer se muitos bytes não estiverem disponíveis no momento.
Exceções
minimumBytes
é negativo ou é maior que o comprimento de buffer
.
throwOnEndOfStream
é true
e o final do fluxo é atingido antes de ler minimumBytes
bytes de dados.
O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.
Comentários
Quando minimumBytes
for 0 (zero), essa operação de leitura será concluída sem aguardar os dados disponíveis no fluxo.