Stream.EndRead(IAsyncResult) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.