Stream.EndWrite(IAsyncResult) 方法

定义

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

public:
 virtual void EndWrite(IAsyncResult ^ asyncResult);
public virtual void EndWrite (IAsyncResult asyncResult);
abstract member EndWrite : IAsyncResult -> unit
override this.EndWrite : IAsyncResult -> unit
Public Overridable Sub EndWrite (asyncResult As IAsyncResult)

参数

asyncResult
IAsyncResult

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

例外

asyncResultnull

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

  • 或 -

挂起操作不支持写入。

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

注解

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

EndWrite 必须在 中每个 上调用一 IAsyncResultBeginWrite

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

适用于

另请参阅