Stream.EndRead(IAsyncResult) 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.
Attend que la requête asynchrone en attente se termine. (Utilisez ReadAsync(Byte[], Int32, Int32) à la place.)
public:
virtual int EndRead(IAsyncResult ^ asyncResult);
public virtual int EndRead (IAsyncResult asyncResult);
abstract member EndRead : IAsyncResult -> int
override this.EndRead : IAsyncResult -> int
Public Overridable Function EndRead (asyncResult As IAsyncResult) As Integer
Paramètres
- asyncResult
- IAsyncResult
Référence à la requête asynchrone en attente à terminer.
Retours
Nombre d’octets lus à partir du flux, entre zéro (0) et nombre d’octets demandés. ReadAsync retourne zéro (0) uniquement si zéro octet a été demandé ou si aucun autre octet ne sera disponible, car il se trouve à la fin du flux ; sinon, les opérations de lecture ne se terminent pas tant qu’au moins un octet n’est pas disponible. Si zéro octet est demandé, les opérations de lecture peuvent se terminer immédiatement ou ne pas se terminer tant qu’au moins un octet n’est pas disponible (mais sans consommer de données).
Exceptions
asyncResult
a la valeur null
.
Handle vers l’opération de lecture en attente non disponible.
- ou -
L’opération en attente ne prend pas en charge la lecture.
asyncResult
ne provenait pas d’une méthode BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) sur le flux en cours.
Le flux est fermé ou une erreur interne s’est produite.
Remarques
Dans .NET Framework 4 et les versions antérieures, on doit utiliser des méthodes telles que BeginRead et EndRead pour implémenter les opérations d'E/S asynchrones. Ces méthodes sont toujours disponibles dans .NET Framework 4.5 pour prendre en charge le code hérité ; Toutefois, les nouvelles méthodes asynchrones, telles que ReadAsync, WriteAsync, CopyToAsyncet FlushAsync, vous aident à implémenter plus facilement des opérations d’E/S asynchrones.
Appelez EndRead
pour déterminer le nombre d’octets lus à partir du flux.
EndRead
peut être appelé une fois sur chaque IAsyncResult à partir de BeginRead.
Cette méthode est bloquée jusqu'à la fin de l'opération d'E/S.