Stream.ReadAtLeastAsync Méthode

Définition

Lit de façon asynchrone au moins un nombre minimal d’octets à partir du flux actuel, avance la position dans le flux par le nombre d’octets lus et surveille les demandes d’annulation.

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)

Paramètres

buffer
Memory<Byte>

Région de mémoire dans laquelle écrire les données.

minimumBytes
Int32

Nombre minimal d’octets à lire dans la mémoire tampon.

throwOnEndOfStream
Boolean

true pour lever une exception si la fin du flux est atteinte avant la lecture minimumBytes d’octets ; false pour retourner moins que minimumBytes lorsque la fin du flux est atteinte. La valeur par défaut est true.

cancellationToken
CancellationToken

Jeton à surveiller pour les demandes d’annulation.

Retours

Tâche qui représente l’opération de lecture asynchrone. La valeur de sa Result propriété contient le nombre total d’octets lus dans la mémoire tampon. Il est garanti qu’il soit supérieur ou égal à minimumBytes quand throwOnEndOfStreamtrue. Cela sera inférieur minimumBytes au moment où la fin du flux est atteinte et throwOnEndOfStream est false. Cela peut être inférieur au nombre d’octets alloués dans la mémoire tampon si de nombreux octets ne sont pas actuellement disponibles.

Exceptions

minimumBytes est négatif, ou est supérieur à la longueur de buffer.

throwOnEndOfStream est et la fin du flux est true atteinte avant de lire minimumBytes des octets de données.

Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.

Remarques

Lorsque minimumBytes la valeur est 0 (zéro), cette opération de lecture est terminée sans attendre que les données disponibles soient disponibles dans le flux.

S’applique à