BufferedStream.WriteAsync(Byte[], Int32, Int32, CancellationToken) Метод

Определение

Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию в этом потоке по количеству записанных байтов и отслеживает запросы на отмену.

public:
 override System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task

Параметры

buffer
Byte[]

Буфер для записи данных из.

offset
Int32

Отсчитываемое от нуля смещение buffer байтов, с которого начинается копирование байтов в поток.

count
Int32

Максимальное число байтов для записи.

cancellationToken
CancellationToken

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

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

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

Исключения

buffer равно null.

offset или count отрицательный.

offset Сумма и count больше длины буфера.

Поток не поддерживает запись.

Поток удален.

Поток в настоящее время используется предыдущей операцией записи.

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

Комментарии

Маркер отмены можно создать, создав экземпляр CancellationTokenSource класса и передав Token свойство в качестве cancellationToken параметра.

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

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