DeflateStream.CopyToAsync(Stream, Int32, CancellationToken) 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.
Asynchronicznie odczytuje bajty z bieżącego strumienia Deflate i zapisuje je w innym strumieniu przy użyciu określonego rozmiaru buforu.
public:
override System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, int bufferSize, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
override this.CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function CopyToAsync (destination As Stream, bufferSize As Integer, cancellationToken As CancellationToken) As Task
Parametry
- destination
- Stream
Strumień, do którego zostanie skopiowana zawartość bieżącego strumienia Deflate.
- bufferSize
- Int32
Rozmiar buforu w bajtach. Ta wartość musi być większa niż zero. Domyślny rozmiar to 81920.
- cancellationToken
- CancellationToken
Token do monitorowania żądań anulowania. Wartość domyślna to None.
Zwraca
Zadanie reprezentujące operację kopiowania asynchronicznego.
Wyjątki
Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.
Uwagi
Metoda CopyToAsync
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 blokować wątek interfejsu użytkownika i sprawiać, że aplikacja jest wyświetlana tak, jakby nie działała. Metody asynchroniczne są używane w połączeniu ze słowami kluczowymi async
i await
w Visual Basic i C#.
Jeśli operacja zostanie anulowana przed zakończeniem, zwrócone zadanie zawiera TaskStatus.Canceled wartość właściwości Task.Status .
Kopiowanie rozpoczyna się od bieżącej pozycji w bieżącym strumieniu Deflate.
Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez CopyTo(Stream, Int32)usługę .