CryptoStream.ReadAsync Méthode

Définition

Surcharges

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lit une séquence d'octets à partir du flux actuel de manière asynchrone, avance la position dans le flux du nombre d'octets lus, et surveille les demandes d'annulation.

ReadAsync(Memory<Byte>, CancellationToken)

Lit de façon asynchrone une séquence d'octets dans le flux actuel, avance la position dans le flux du nombre d'octets lus et surveille les demandes d'annulation.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Source:
CryptoStream.cs
Source:
CryptoStream.cs
Source:
CryptoStream.cs

Lit une séquence d'octets à partir du flux actuel de manière asynchrone, avance la position dans le flux du nombre d'octets lus, et surveille les demandes d'annulation.

C#
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);

Paramètres

buffer
Byte[]

Mémoire tampon où écrire les données.

offset
Int32

Dans buffer, décalage d'octet auquel commencer l'écriture des données à partir du flux.

count
Int32

Nombre maximal d'octets à lire.

cancellationToken
CancellationToken

Jeton pour surveiller les requêtes d'annulation. La valeur par défaut est None.

Retours

Tâche qui représente l'opération de lecture asynchrone. La valeur du paramètre TResult de l'objet de tâche contient le nombre total d'octets lus dans la mémoire tampon. Le résultat peut être inférieur au nombre d'octets demandé si le nombre d'octets actuellement disponibles est inférieur au nombre demandé, ou il peut avoir la valeur 0 (zéro) si la fin du flux de données a été atteinte.

Exceptions

buffer a la valeur null.

offset ou count est un nombre négatif.

La somme de offset et count est supérieure à la longueur de la mémoire tampon.

Le flux ne prend pas en charge la lecture.

Le flux a été supprimé.

Le flux est actuellement utilisé par une opération de lecture antérieure.

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

Remarques

Important

À compter de .NET 6, cette méthode peut ne pas lire autant d’octets que demandé. Pour plus d’informations, consultez Lectures partielles et zéro octets dans DeflateStream, GZipStream et CryptoStream.

Vous devez précéder votre appel à ReadAsync avec l’opérateur await (C#) ou Await (Visual Basic) pour suspendre l’exécution de la méthode jusqu’à ce que la tâche soit terminée. Pour plus d’informations, consultez Programmation asynchrone (C#) ou Programmation asynchrone avec Async et Await (Visual Basic) .

Si l’opération est annulée avant sa fin, la tâche retournée contient la Canceled valeur de la Status propriété .

Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par Read(Byte[], Int32, Int32).

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

ReadAsync(Memory<Byte>, CancellationToken)

Source:
CryptoStream.cs
Source:
CryptoStream.cs
Source:
CryptoStream.cs

Lit de façon asynchrone une séquence d'octets dans le flux actuel, avance la position dans le flux du nombre d'octets lus et surveille les demandes d'annulation.

C#
public override System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);

Paramètres

buffer
Memory<Byte>

Région de la mémoire dans laquelle les données doivent être écrites.

cancellationToken
CancellationToken

Jeton pour surveiller les requêtes d'annulation. La valeur par défaut est None.

Retours

Tâche qui représente l'opération de lecture asynchrone. La valeur de sa propriété Result contient le nombre total d’octets lus dans la mémoire tampon. La valeur de résultat peut être inférieure au nombre d’octets alloués dans la mémoire tampon si ce nombre d’octets n’est pas actuellement disponible, ou égale à 0 (zéro) si la fin du flux a été atteinte.

Exceptions

Le CryptoStreamMode associé à l’objet actuel CryptoStream ne correspond pas au flux sous-jacent. Par exemple, cette exception est levée lors de l’utilisation Read avec un flux sous-jacent en écriture uniquement.

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

Remarques

À compter de .NET 6, cette méthode peut ne pas lire autant d’octets que demandé. Pour plus d’informations, consultez Lectures partielles et zéro octets dans DeflateStream, GZipStream et CryptoStream.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET 6, 7, 8, 9