Stream.EndRead(IAsyncResult) Método

Definición

Espera a que se complete la lectura asincrónica que se encuentra pendiente. (Considere usar ReadAsync(Byte[], Int32, Int32) en su lugar).

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

Parámetros

asyncResult
IAsyncResult

Referencia a la solicitud asincrónica pendiente para finalizar.

Devoluciones

Int32

El número de bytes leídos de la secuencia, que se encuentra entre cero (0) y el número de bytes solicitado. Las secuencias solo devuelven cero (0) al final de la secuencia; de lo contrario, se deben bloquear hasta que haya al menos un byte disponible.

Excepciones

asyncResult es null.

Un identificador de la operación de lectura pendiente no está disponible.

o bien

La operación pendiente no admite lectura.

asyncResult no se originó desde un método BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) de la secuencia actual.

La secuencia está cerrada o se produjo un error interno.

Comentarios

En .NET Framework 4 y versiones anteriores, es necesario usar métodos como BeginRead y EndRead para implementar operaciones de E/S asincrónicas. Estos métodos siguen estando disponibles en .NET Framework 4.5 para admitir código heredado; sin embargo, los nuevos métodos asincrónicos, como ReadAsync, WriteAsync, CopyToAsyncy FlushAsync, le ayudan a implementar operaciones asincrónicas de E/S más fácilmente.

Llame EndRead a para determinar cuántos bytes se leyeron de la secuencia.

EndRead se puede llamar una vez en cada IAsyncResult desde BeginRead.

Este método se bloquea hasta que se haya completado la operación de E/S.

Se aplica a

Consulte también