本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

Stream.EndRead 方法 (IAsyncResult)

 

等待挂起的异步读取完成。 (考虑使用 ReadAsync 进行替换;请参见“备注”部分。)

命名空间:   System.IO
程序集:  mscorlib(位于 mscorlib.dll)

public virtual int EndRead(
	IAsyncResult asyncResult
)

参数

asyncResult
Type: System.IAsyncResult

对要完成的挂起异步请求的引用。

返回值

Type: System.Int32

从流中读取的字节数,介于零 (0) 和所请求的字节数之间。 流仅在流结尾返回零 (0),否则在至少有 1 个字节可用之前应一直进行阻止。

Exception Condition
ArgumentNullException

asyncResultnull

ArgumentException

挂起的读操作的句柄将不可用。

- 或 -

挂起的操作不支持读取。

InvalidOperationException

asyncResult 不是源自 BeginRead 上当前流的方法。

IOException

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

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

调用 EndRead 以确定从流中读取多少字节数。

EndRead 可以在上一次调用每个 IAsyncResultBeginRead

此方法将一直阻塞,直到 I/O 操作已完成。

.NET Framework
自 1.1 起可用
可移植类库
可移植 .NET 平台 中受支持
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
返回页首
显示: