Прочитать на английском

Поделиться через


GZipStream.CopyToAsync(Stream, Int32, CancellationToken) Метод

Определение

Асинхронно считывает байты из текущего потока GZip и записывает их в другой поток, используя указанный размер буфера.

public override System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);

Параметры

destination
Stream

Поток, в который будет скопировано содержимое текущего потока GZip.

bufferSize
Int32

Размер (в байтах) буфера. Это значение должно быть больше нуля. Размер по умолчанию — 81920.

cancellationToken
CancellationToken

Токен для отслеживания запросов отмены. Значение по умолчанию — None.

Возвращаемое значение

Задача, представляющая асинхронную операцию копирования.

Исключения

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Метод CopyToAsync позволяет выполнять ресурсоемкие операции ввода-вывода, не блокируя поток main. Это особенно важно в классическом приложении, где ресурсоемкая потоковая операция может заблокировать поток пользовательского интерфейса и сделать приложение таким, как если бы оно не работало. Асинхронные методы используются в сочетании с ключевыми словами async и await в Visual Basic и C#.

Если операция отменена до ее завершения, возвращаемая задача содержит TaskStatus.Canceled значение Task.Status свойства .

Копирование начинается с текущей позиции в текущем потоке GZip.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые CopyTo(Stream, Int32).

Применяется к

Продукт Версии
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1