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


BufferedStream.WriteAsync Метод

Определение

Перегрузки

Имя Описание
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

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

WriteAsync(Byte[], Int32, Int32, CancellationToken)

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

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs

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

public override System.Threading.Tasks.ValueTask WriteAsync(ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Overrides Function WriteAsync (buffer As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask

Параметры

buffer
ReadOnlyMemory<Byte>

Область памяти для записи данных из.

cancellationToken
CancellationToken

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

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

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

Исключения

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

Комментарии

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

CanWrite Используйте свойство, чтобы определить, поддерживает ли текущий экземпляр запись.

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

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

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs
Исходный код:
BufferedStream.cs

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

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).

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