Compartir vía


DeflateStream.ReadAsync Método

Definición

Sobrecargas

ReadAsync(Memory<Byte>, CancellationToken)

Lee de forma asincrónica una secuencia de bytes en la secuencia Deflate actual, los escribe en un intervalo de memoria de bytes, avanza la posición dentro de la secuencia Deflate según el número de bytes leídos y supervisa las solicitudes de cancelación.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lee de forma asincrónica una secuencia de bytes en la secuencia Deflate actual, los escribe en una matriz de bytes, avanza la posición en la secuencia Deflate según el número de bytes leídos y supervisa las solicitudes de cancelación.

ReadAsync(Memory<Byte>, CancellationToken)

Source:
DeflateStream.cs
Source:
DeflateStream.cs
Source:
DeflateStream.cs

Lee de forma asincrónica una secuencia de bytes en la secuencia Deflate actual, los escribe en un intervalo de memoria de bytes, avanza la posición dentro de la secuencia Deflate según el número de bytes leídos y supervisa las solicitudes de cancelación.

public override System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parámetros

buffer
Memory<Byte>

Región de memoria en la que se van a escribir los datos.

cancellationToken
CancellationToken

Token para supervisar solicitudes de cancelación. El valor predeterminado es None.

Devoluciones

Tarea que representa la operación de lectura asincrónica, que ajusta el número total de bytes leídos en el búfer. El valor de resultado puede ser menor que el número de bytes asignado en el búfer si esos bytes no están disponibles en ese momento o puede ser 0 (cero) si se ha alcanzado el final de la secuencia Deflate.

Excepciones

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

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 byte en DeflateStream, GZipStream y CryptoStream.

El ReadAsync método permite realizar operaciones de E/S intensivas en recursos sin bloquear el subproceso principal. Esta consideración de rendimiento es especialmente importante en las aplicaciones de escritorio en las que una operación de secuencia que consume mucho tiempo puede bloquear el subproceso de la interfaz de usuario y hacer que la aplicación aparezca como si no funcionara. Los métodos asincrónicos se usan junto con las async palabras clave y await en Visual Basic y C#.

Utilice la CanRead propiedad para determinar si la instancia actual admite la lectura.

Si la operación se cancela antes de que finalice, la tarea devuelta contiene el TaskStatus.Canceled valor de la Task.Status propiedad .

Se aplica a

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Source:
DeflateStream.cs
Source:
DeflateStream.cs
Source:
DeflateStream.cs

Lee de forma asincrónica una secuencia de bytes en la secuencia Deflate actual, los escribe en una matriz de bytes, avanza la posición en la secuencia Deflate según el número de bytes leídos y supervisa las solicitudes de cancelación.

public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ array, int offset, int count, System::Threading::CancellationToken cancellationToken);
public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] array, int offset, int count, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (array As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)

Parámetros

arraybuffer
Byte[]

El búfer en el que se escriben los datos.

offset
Int32

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

count
Int32

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

cancellationToken
CancellationToken

Token para supervisar solicitudes de cancelación. El valor predeterminado es None.

Devoluciones

Tarea que representa la operación de lectura asincrónica, que ajusta el número total de bytes leídos en el búfer. El valor del resultado puede ser menor que el número de bytes solicitados si el número de bytes disponibles actualmente es menor que el número solicitado o puede ser 0 (cero) si se ha llegado al final de la secuencia Deflate.

Excepciones

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

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 byte en DeflateStream, GZipStream y CryptoStream.

El ReadAsync método permite realizar operaciones de E/S intensivas en recursos sin bloquear el subproceso principal. Esta consideración de rendimiento es especialmente importante en las aplicaciones de escritorio en las que una operación de secuencia que consume mucho tiempo puede bloquear el subproceso de la interfaz de usuario y hacer que la aplicación aparezca como si no funcionara. Los métodos asincrónicos se usan junto con las async palabras clave y await en Visual Basic y C#.

Utilice la CanRead propiedad para determinar si la instancia actual admite la lectura.

Si la operación se cancela antes de que finalice, la tarea devuelta contiene el TaskStatus.Canceled valor de la Task.Status propiedad .

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, se siguen iniciando de forma sincrónica. Para ver las excepciones almacenadas, consulte las excepciones producidas por Read(Byte[], Int32, Int32).

Se aplica a