Compartilhar via


GZipStream.ReadAsync Método

Definição

Sobrecargas

ReadAsync(Memory<Byte>, CancellationToken)

Lê de forma assíncrona uma sequência de bytes do fluxo GZip atual em uma região de memória de bytes, avança a posição no fluxo GZip até o número de bytes lidos e monitora as solicitações de cancelamento.

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

Lê de forma assíncrona uma sequência de bytes do fluxo GZip atual em uma matriz de bytes, avança a posição no fluxo GZip até o número de bytes lidos e monitora as solicitações de cancelamento.

ReadAsync(Memory<Byte>, CancellationToken)

Origem:
GZipStream.cs
Origem:
GZipStream.cs
Origem:
GZipStream.cs

Lê de forma assíncrona uma sequência de bytes do fluxo GZip atual em uma região de memória de bytes, avança a posição no fluxo GZip até o número de bytes lidos e monitora as solicitações de cancelamento.

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>

A região da memória na qual gravar os dados.

cancellationToken
CancellationToken

O token a se monitorar para solicitações de cancelamento. O valor padrão é None.

Retornos

Uma tarefa que representa a operação de leitura assíncrona, que encapsula o número total de bytes lidos no buffer. O valor do resultado poderá ser menor que o número de bytes alocados no buffer se esses muitos bytes não estiverem disponíveis no momento, ou o valor poderá ser zero (0) se o final do fluxo GZip for atingido.

Exceções

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Comentários

Importante

A partir do .NET 6, esse método pode não ler tantos bytes quanto solicitado. Para obter mais informações, consulte Leituras parciais e de bytes zero em DeflateStream, GZipStream e CryptoStream.

O ReadAsync método permite que você execute operações de E/S com uso intensivo de recursos sem bloquear o thread main. Essa consideração de desempenho é particularmente importante em aplicativos da área de trabalho em que uma operação de fluxo demorada pode bloquear o thread da interface do usuário e fazer com que o aplicativo apareça como se não estivesse funcionando. Os métodos assíncronos são usados em conjunto com as async palavras-chave e await no Visual Basic e no C#.

Use a CanRead propriedade para determinar se a instância atual dá suporte à leitura.

Se a operação for cancelada antes de ser concluída, a tarefa retornada conterá o TaskStatus.Canceled valor da Task.Status propriedade .

Aplica-se a

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

Origem:
GZipStream.cs
Origem:
GZipStream.cs
Origem:
GZipStream.cs

Lê de forma assíncrona uma sequência de bytes do fluxo GZip atual em uma matriz de bytes, avança a posição no fluxo GZip até o número de bytes lidos e monitora as solicitações de cancelamento.

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[]

O buffer no qual os dados serão gravados.

offset
Int32

O deslocamento de bytes no qual começar a gravar dados do fluxo GZip.

count
Int32

O número máximo de bytes a serem lidos.

cancellationToken
CancellationToken

O token a se monitorar para solicitações de cancelamento. O valor padrão é None.

Retornos

Uma tarefa que representa a operação de leitura assíncrona, que encapsula o número total de bytes lidos. O valor do resultado poderá ser menor que o número de bytes solicitados se o número de bytes disponíveis no momento for menor que o número solicitado, ou o valor poderá ser 0 (zero) se o final do fluxo GZip for atingido.

Exceções

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Comentários

Importante

A partir do .NET 6, esse método pode não ler tantos bytes quanto solicitado. Para obter mais informações, consulte Leituras parciais e de bytes zero em DeflateStream, GZipStream e CryptoStream.

O ReadAsync método permite que você execute operações de E/S com uso intensivo de recursos sem bloquear o thread main. Essa consideração de desempenho é particularmente importante em aplicativos da área de trabalho em que uma operação de fluxo demorada pode bloquear o thread da interface do usuário e fazer com que o aplicativo apareça como se não estivesse funcionando. Os métodos assíncronos são usados em conjunto com as async palavras-chave e await no Visual Basic e no C#.

Use a CanRead propriedade para determinar se a instância atual dá suporte à leitura.

Se a operação for cancelada antes de ser concluída, a tarefa retornada conterá o TaskStatus.Canceled valor da Task.Status propriedade .

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por Read(Byte[], Int32, Int32).

Aplica-se a