BufferedStream.WriteAsync 方法

定义

重载

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

将字节的序列异步写入当前缓冲流,按写入的字节数向前移动该缓冲流中的当前位置,并监视取消请求。

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

将字节的序列异步写入当前流,将该流中的当前位置向前移动写入的字节数,并监视取消请求。

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Source:
BufferedStream.cs
Source:
BufferedStream.cs
Source:
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 方法可以执行资源密集型 I/O 操作,而不会阻止main线程。 在 Windows 8.x 应用商店应用或桌面应用中一个耗时的流操作可能阻塞 UI 线程并让应用看起来好像不工作时,这种性能的考虑就显得尤为重要了。 异步方法与 async Visual Basic 和 C# 中的 和 await 关键字结合使用。

CanWrite使用 属性确定当前实例是否支持写入。

如果在操作完成之前取消了操作,则返回的任务将包含 TaskStatus.Canceled 属性的值 Task.Status

适用于

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

Source:
BufferedStream.cs
Source:
BufferedStream.cs
Source:
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

要监视取消请求的标记。

返回

表示异步写入操作的任务。

例外

buffernull

offsetcount 为负数。

offsetcount 的总和大于缓冲区长度。

流不支持写入。

已释放流。

流正在由前一次写操作使用。

取消令牌已取消。 此异常存储在返回的任务中。

注解

可以通过创建 类的CancellationTokenSource实例并将 属性作为 cancellationToken 参数传递Token来创建取消令牌。

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Write(Byte[], Int32, Int32)异常。

适用于