BufferedStream.ReadAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
ReadAsync(Memory<Byte>, CancellationToken) |
Lit de façon asynchrone une séquence d’octets dans le flux mis en mémoire tampon actuel et avance la position dans ce flux du nombre d’octets lus. |
ReadAsync(Byte[], Int32, Int32, 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(Memory<Byte>, CancellationToken)
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
Lit de façon asynchrone une séquence d’octets dans le flux mis en mémoire tampon actuel et avance la position dans ce flux du nombre d’octets lus.
public override System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
Paramètres
- 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 jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.
Remarques
La ReadAsync
méthode vous permet d’effectuer des opérations d’E/S nécessitant beaucoup de ressources sans bloquer le thread main. Cette considération de performance est particulièrement importante dans une application Windows 8.x Store ou une application de bureau où une longue opération de flux peut bloquer le thread d'interface utilisateur et faire que l'application s'affiche comme si elle ne fonctionnait pas. Les méthodes asynchrones sont utilisées conjointement avec les async
mots clés et await
dans Visual Basic et C#.
Utilisez la CanRead propriété pour déterminer si le instance actuel prend en charge la lecture.
Si l’opération est annulée avant qu’elle ne se termine, la tâche retournée contient la TaskStatus.Canceled valeur de la Status propriété.
S’applique à
ReadAsync(Byte[], Int32, Int32, CancellationToken)
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.cs
- Source:
- BufferedStream.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.
public:
override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
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.
Retours
Tâche qui représente l'opération de lecture asynchrone. La valeur du paramètre TResult
contient le nombre total d'octets lus dans la mémoire tampon. La valeur du résultat peut être inférieure au nombre d'octets demandés si le nombre d'octets actuellement disponibles est inférieur au nombre demandé, ou elle peut avoir la valeur 0 (zéro) si la fin du flux 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
Vous pouvez créer un jeton d’annulation en créant un instance de la CancellationTokenSource classe et en transmettant la Token propriété comme cancellationToken
paramètre.
Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception sera levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour connaître les exceptions stockées, consultez les exceptions levées par Read(Byte[], Int32, Int32).