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 中仍然可用,以支持旧代码;但是,新的异步方法(如 ReadAsyncWriteAsyncCopyToAsyncFlushAsync)可帮助你更轻松地实现异步 I/O 操作。

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

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

适用于

另请参阅