Stream.EndWrite(IAsyncResult) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
结束异步写操作。 (请考虑改用 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 请求的引用。
例外
asyncResult
为 null
。
asyncResult
不源于当前流的 BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) 方法。
流已关闭或出现了内部错误。
注解
在 .NET Framework 4 和更早的版本中,您必须使用 BeginWrite 和 EndWrite 之类的方法来实现异步 I/O 操作。 这些方法在 .NET Framework 4.5 中仍然可用,以支持旧代码;但是,新的异步方法(如 ReadAsync、WriteAsync、 CopyToAsync和 FlushAsync)可帮助你更轻松地实现异步 I/O 操作。
EndWrite
必须对 中的每个 IAsyncResult 调用 BeginWrite一次。
此方法将一直阻塞,直到 I/O 操作已完成。 异步写入请求期间发生的错误(例如 I/O 请求期间的磁盘故障)发生在线程池线程上,并在调用 EndWrite
时变为可见。 调用 EndWrite
时,线程池线程引发的异常将不可见。