Comparteix a través de


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

Número de bytes leídos de la secuencia, entre cero (0) y el número de bytes solicitados. ReadAsync devuelve cero (0) solo si se solicitó cero bytes o si no habrá más bytes disponibles porque está al final de la secuencia; de lo contrario, las operaciones de lectura no se completan hasta que haya al menos un byte disponible. Si se solicitan cero bytes, las operaciones de lectura pueden completarse inmediatamente o no se completan hasta que haya al menos un byte disponible (pero sin consumir ningún dato).

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 de E/S asincrónicas más fácilmente.

Llame EndRead a para determinar cuántos bytes se leyeron desde 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