GZipStream.ReadAsync Metod

Definition

Överlagringar

Name Description
ReadAsync(Memory<Byte>, CancellationToken)

Läser asynkront en sekvens med byte från den aktuella GZip-strömmen till en byteminnesregion, avancerar positionen i GZip-strömmen med antalet lästa byte och övervakar begäranden om annullering.

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

Läser asynkront en sekvens med byte från den aktuella GZip-strömmen till en bytematris, avancerar positionen i GZip-strömmen med antalet lästa byte och övervakar begäranden om annullering.

ReadAsync(Memory<Byte>, CancellationToken)

Läser asynkront en sekvens med byte från den aktuella GZip-strömmen till en byteminnesregion, avancerar positionen i GZip-strömmen med antalet lästa byte och övervakar begäranden om annullering.

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)

Parametrar

buffer
Memory<Byte>

Den region av minne som data ska skrivas till.

cancellationToken
CancellationToken

Token som ska övervakas för annulleringsbegäranden. Standardvärdet är None.

Returer

En uppgift som representerar den asynkrona läsåtgärden, som omsluter det totala antalet byte som lästs in i bufferten. Resultatvärdet kan vara mindre än antalet byte som allokerats i bufferten om så många byte för närvarande inte är tillgängliga, eller om det kan vara 0 (noll) om GZip-strömmens slut har nåtts.

Undantag

Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.

Kommentarer

Important

Från och med .NET 6 kanske den här metoden inte läser så många byte som begärdes. Mer information finns i Del- och nollbyteläsningar i DeflateStream, GZipStream och CryptoStream.

Med ReadAsync metoden kan du utföra resursintensiva I/O-åtgärder utan att blockera huvudtråden. Den här prestandaöverväganden är särskilt viktig i skrivbordsappar där en tidskrävande strömåtgärd kan blockera användargränssnittstråden och få appen att se ut som om den inte fungerar. Asynkrona metoder används tillsammans med nyckelorden async och await i Visual Basic och C#.

Använd egenskapen CanRead för att avgöra om den aktuella instansen stöder läsning.

Om åtgärden avbryts innan den slutförs innehåller TaskStatus.Canceled den returnerade aktiviteten värdet för Task.Status egenskapen.

Gäller för

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

Läser asynkront en sekvens med byte från den aktuella GZip-strömmen till en bytematris, avancerar positionen i GZip-strömmen med antalet lästa byte och övervakar begäranden om annullering.

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(byte[] array, int offset, int count, System.Threading.CancellationToken cancellationToken);
abstract member 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>
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)

Parametrar

arraybuffer
Byte[]

Bufferten som data ska skrivas till.

offset
Int32

Byteförskjutningen där du börjar skriva data från GZip-strömmen.

count
Int32

Det maximala antalet byte som ska läsas.

cancellationToken
CancellationToken

Token som ska övervakas för annulleringsbegäranden. Standardvärdet är None.

Returer

En uppgift som representerar den asynkrona läsåtgärden, som omsluter det totala antalet lästa byte. Resultatvärdet kan vara mindre än antalet begärda byte om antalet tillgängliga byte för närvarande är mindre än det begärda talet, eller om det kan vara 0 (noll) om GZip-strömmens slut har nåtts.

Undantag

Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.

Kommentarer

Important

Från och med .NET 6 kanske den här metoden inte läser så många byte som begärdes. Mer information finns i Del- och nollbyteläsningar i DeflateStream, GZipStream och CryptoStream.

Med ReadAsync metoden kan du utföra resursintensiva I/O-åtgärder utan att blockera huvudtråden. Den här prestandaöverväganden är särskilt viktig i skrivbordsappar där en tidskrävande strömåtgärd kan blockera användargränssnittstråden och få appen att se ut som om den inte fungerar. Asynkrona metoder används tillsammans med nyckelorden async och await i Visual Basic och C#.

Använd egenskapen CanRead för att avgöra om den aktuella instansen stöder läsning.

Om åtgärden avbryts innan den slutförs innehåller TaskStatus.Canceled den returnerade aktiviteten värdet för Task.Status egenskapen.

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Read(Byte[], Int32, Int32).

Gäller för