Skip to main content
.NET Framework Class Library
StreamEndRead Method

Waits for the pending asynchronous read to complete. (Consider using ReadAsync instead; see the Remarks section.)

Namespace:   System.IO
Assembly:  mscorlib (in mscorlib.dll)
Syntax
Public Overridable Function EndRead ( _
	asyncResult As [%$TOPIC/h3w78864_en-us_VS_110_2_0_0_0_0%] _
) As [%$TOPIC/h3w78864_en-us_VS_110_2_0_0_0_1%]
public virtual [%$TOPIC/h3w78864_en-us_VS_110_2_0_1_0_0%] EndRead(
	[%$TOPIC/h3w78864_en-us_VS_110_2_0_1_0_1%] asyncResult
)
public:
virtual [%$TOPIC/h3w78864_en-us_VS_110_2_0_2_0_0%] EndRead(
	[%$TOPIC/h3w78864_en-us_VS_110_2_0_2_0_1%]^ asyncResult
)
abstract EndRead : 
        asyncResult:[%$TOPIC/h3w78864_en-us_VS_110_2_0_3_0_0%] -> [%$TOPIC/h3w78864_en-us_VS_110_2_0_3_0_1%]  
override EndRead : 
        asyncResult:[%$TOPIC/h3w78864_en-us_VS_110_2_0_3_0_2%] -> [%$TOPIC/h3w78864_en-us_VS_110_2_0_3_0_3%]

Parameters

asyncResult
Type: SystemIAsyncResult

The reference to the pending asynchronous request to finish.

Return Value

Type: SystemInt32
The number of bytes read from the stream, between zero (0) and the number of bytes you requested. Streams return zero (0) only at the end of the stream, otherwise, they should block until at least one byte is available.
Exceptions
ExceptionCondition
ArgumentNullException

asyncResult is .

ArgumentException

A handle to the pending read operation is not available.

-or-

The pending operation does not support reading.

InvalidOperationException

asyncResult did not originate from a BeginRead method on the current stream.

IOException

The stream is closed or an internal error has occurred.

Remarks

In the .NET Framework 4 and earlier versions, you have to use methods such as BeginRead and EndRead to implement asynchronous I/O operations. These methods are still available in the .NET Framework 4.5 to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, CopyToAsync, and FlushAsync, help you implement asynchronous I/O operations more easily.

Call EndRead to determine how many bytes were read from the stream.

EndRead can be called once on every IAsyncResult from BeginRead.

This method blocks until the I/O operation has completed.

Version Information

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8
Platforms

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.