GZipStream.ReadAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
ReadAsync(Memory<Byte>, CancellationToken) |
Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia GZip do regionu pamięci bajtów, zwiększa pozycję w strumieniu GZip o liczbę odczytanych bajtów i monitoruje żądania anulowania. |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia GZip do tablicy bajtów, zwiększa pozycję w strumieniu GZip przez liczbę odczytanych bajtów i monitoruje żądania anulowania. |
ReadAsync(Memory<Byte>, CancellationToken)
- Źródło:
- GZipStream.cs
- Źródło:
- GZipStream.cs
- Źródło:
- GZipStream.cs
Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia GZip do regionu pamięci bajtów, zwiększa pozycję w strumieniu GZip o liczbę odczytanych bajtów i monitoruje żądania anulowania.
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)
Parametry
- cancellationToken
- CancellationToken
Token do monitorowania żądań anulowania. Wartość domyślna to None.
Zwraca
Zadanie reprezentujące operację odczytu asynchronicznego, która opakowuje całkowitą liczbę bajtów odczytanych do buforu. Wartość wyniku może być mniejsza niż liczba bajtów przydzielonych w buforze, jeśli liczba bajtów jest obecnie niedostępna lub może być równa 0 (zero), jeśli osiągnięto koniec strumienia GZip.
Wyjątki
Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.
Uwagi
Ważne
Począwszy od platformy .NET 6, ta metoda może nie odczytywać tyle bajtów, ile żądano. Aby uzyskać więcej informacji, zobacz Częściowe i zerowe odczyty odczytów w DeflateStream, GZipStream i CryptoStream.
Metoda ReadAsync
umożliwia wykonywanie operacji we/wy intensywnie korzystających z zasobów bez blokowania głównego wątku. Ta kwestia wydajności jest szczególnie ważna w aplikacjach klasycznych, w których czasochłonna operacja strumienia może zablokować wątek interfejsu użytkownika i sprawić, że aplikacja będzie wyświetlana tak, jakby nie działała. Metody asynchroniczne są używane w połączeniu ze słowami async
kluczowymi i await
w języku Visual Basic i C#.
Użyj właściwości , CanRead aby określić, czy bieżące wystąpienie obsługuje odczyt.
Jeśli operacja zostanie anulowana przed jej zakończeniem, zwrócone zadanie zawiera TaskStatus.Canceled wartość właściwości Task.Status .
Dotyczy
ReadAsync(Byte[], Int32, Int32, CancellationToken)
- Źródło:
- GZipStream.cs
- Źródło:
- GZipStream.cs
- Źródło:
- GZipStream.cs
Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia GZip do tablicy bajtów, zwiększa pozycję w strumieniu GZip przez liczbę odczytanych bajtów i monitoruje żądania anulowania.
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)
Parametry
- arraybuffer
- Byte[]
Bufor do zapisania danych.
- offset
- Int32
Przesunięcie bajtów, przy którym należy rozpocząć zapisywanie danych ze strumienia GZip.
- count
- Int32
Maksymalna liczba bajtów do odczytania.
- cancellationToken
- CancellationToken
Token do monitorowania żądań anulowania. Wartość domyślna to None.
Zwraca
Zadanie reprezentujące asynchroniczną operację odczytu, która opakowuje całkowitą liczbę odczytanych bajtów. Wartość wyniku może być mniejsza niż liczba bajtów żądanych, jeśli liczba obecnie dostępnych bajtów jest mniejsza niż żądana liczba lub może być równa 0 (zero), jeśli osiągnięto koniec strumienia GZip.
Wyjątki
Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.
Uwagi
Ważne
Począwszy od platformy .NET 6, ta metoda może nie odczytywać tyle bajtów, ile żądano. Aby uzyskać więcej informacji, zobacz Częściowe i zerowe odczyty odczytów w DeflateStream, GZipStream i CryptoStream.
Metoda ReadAsync
umożliwia wykonywanie operacji we/wy intensywnie korzystających z zasobów bez blokowania głównego wątku. Ta kwestia wydajności jest szczególnie ważna w aplikacjach klasycznych, w których czasochłonna operacja strumienia może zablokować wątek interfejsu użytkownika i sprawić, że aplikacja będzie wyświetlana tak, jakby nie działała. Metody asynchroniczne są używane w połączeniu ze słowami async
kluczowymi i await
w języku Visual Basic i C#.
Użyj właściwości , CanRead aby określić, czy bieżące wystąpienie obsługuje odczyt.
Jeśli operacja zostanie anulowana przed jej zakończeniem, zwrócone zadanie zawiera TaskStatus.Canceled wartość właściwości Task.Status .
Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Read(Byte[], Int32, Int32)usługę .