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


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

Определение

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

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

Параметры

destination
Stream

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

bufferSize
Int32

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

cancellationToken
CancellationToken

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

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

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

Исключения

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

Комментарии

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

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

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

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

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