Stream.EndWrite(IAsyncResult) 方法

定义

结束异步写操作。 (请考虑改用 WriteAsync(Byte[], Int32, Int32)。)

C#
public virtual void EndWrite (IAsyncResult asyncResult);

参数

asyncResult
IAsyncResult

对未完成的异步 I/O 请求的引用。

例外

asyncResultnull

处于挂起状态的写入操作的句柄不可用。

- 或 -

挂起操作不支持写入。

流已关闭或出现了内部错误。

注解

在 .NET Framework 4 和更早的版本中,您必须使用 BeginWriteEndWrite 之类的方法来实现异步 I/O 操作。 这些方法在 .NET Framework 4.5 中仍然可用,以支持旧代码;但是,新的异步方法(如 ReadAsyncWriteAsyncCopyToAsyncFlushAsync)可帮助你更轻松地实现异步 I/O 操作。

EndWrite 必须对 中的每个 IAsyncResult 调用 BeginWrite一次。

此方法将一直阻塞,直到 I/O 操作已完成。 异步写入请求期间发生的错误(例如 I/O 请求期间的磁盘故障)发生在线程池线程上,并在调用 EndWrite时变为可见。 调用 EndWrite时,线程池线程引发的异常将不可见。

适用于

产品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

另请参阅