Comparteix a través de


GZipStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Método

Definición

Comienza una operación de lectura asincrónica. (Considere usar el método ReadAsync(Byte[], Int32, Int32) en su lugar).

public:
 override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
 override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginRead (byte[] array, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginRead (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

Parámetros

arraybuffer
Byte[]

Matriz de bytes en la que se van a leer los datos.

offset
Int32

Desplazamiento de bytes en el que se van a empezar a leer datos de la secuencia.

count
Int32

Número máximo de bytes que se pueden leer.

asyncCallback
AsyncCallback

Devolución de llamada asincrónica opcional, a la que se llamará cuando haya finalizado la operación de lectura.

asyncState
Object

Objeto proporcionado por el usuario que distingue esta solicitud de lectura asincrónica de otras.

Devoluciones

Un objeto que representa la operación de lectura asincrónica, que puede hallarse aún pendiente.

Excepciones

El método intentó leer de forma asincrónica más allá del final de la secuencia o se produjo un error de disco.

Uno o varios argumentos no son válidos.

Se efectuó una llamada a los métodos después de cerrar la secuencia.

La implementación actual de GZipStream no admite la operación de escritura.

La operación de lectura no se puede realizar porque la secuencia está cerrada.

Comentarios

Importante

A partir de .NET 6, este método podría no leer tantos bytes como se solicitaron. Para obtener más información, vea Lecturas parciales y de cero bytes en DeflateStream, GZipStream y CryptoStream.

A partir de .NET Framework 4.5, puede realizar operaciones de lectura asincrónicas mediante el Stream.ReadAsync método . El BeginRead método sigue estando disponible en las versiones actuales para admitir código heredado; sin embargo, puede implementar operaciones de E/S asincrónicas más fácilmente mediante el uso de los nuevos métodos asincrónicos. Para obtener más información, vea E/S de archivos asincrónicos.

Pase el IAsyncResult valor devuelto al EndRead método de la secuencia para determinar cuántos bytes se leyeron y liberar los recursos del sistema operativo usados para leer. Para ello, use el mismo código que llamó BeginRead a o en una devolución de llamada pasada a BeginRead.

La posición actual de la secuencia se actualiza cuando se emite la lectura o escritura asincrónica, no cuando se completa la operación de E/S.

Varias solicitudes asincrónicas simultáneas representan el orden de finalización de la solicitud incierta.

Utilice la CanRead propiedad para determinar si el objeto actual GZipStream admite la lectura.

Si se cierra una secuencia o se pasa un argumento no válido, las excepciones se inician inmediatamente desde BeginRead. Los errores que se producen durante una solicitud de lectura asincrónica, como un error de disco durante la solicitud de E/S, se producen en el subproceso del grupo de subprocesos y producen excepciones al llamar a EndRead.

Se aplica a