Condividi tramite


Stream.ReadAtLeastAsync Metodo

Definizione

Legge in modo asincrono almeno un numero minimo di byte dal flusso corrente, avanza la posizione all'interno del flusso in base al numero di byte letti e monitora le richieste di annullamento.

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)

Parametri

buffer
Memory<Byte>

L'area di memoria su cui scrivere i dati.

minimumBytes
Int32

Numero minimo di byte da leggere nel buffer.

throwOnEndOfStream
Boolean

true per generare un'eccezione se la fine del flusso viene raggiunta prima della lettura minimumBytes di byte; false per restituire meno di minimumBytes quando viene raggiunta la fine del flusso. Il valore predefinito è true.

cancellationToken
CancellationToken

Token da monitorare per le richieste di annullamento.

Restituisce

Attività che rappresenta l'operazione di lettura asincrona. Il valore della proprietà Result contiene il numero totale di byte letti nel buffer. Questo è garantito essere maggiore o uguale a minimumBytes quando throwOnEndOfStream è true. Questa operazione sarà minore di minimumBytes quando viene raggiunta la fine del flusso ed throwOnEndOfStream è false. Questo può essere minore del numero di byte allocati nel buffer se tale numero di byte non è attualmente disponibile.

Eccezioni

minimumBytes è negativo o è maggiore della lunghezza di buffer.

throwOnEndOfStream è true e la fine del flusso viene raggiunta prima di leggere minimumBytes byte di dati.

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Commenti

Quando minimumBytes è 0 (zero), questa operazione di lettura verrà completata senza attendere i dati disponibili nel flusso.

Si applica a