DeflateStream.EndRead Method (IAsyncResult)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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

Namespace:   System.IO.Compression
Assembly:  System (in System.dll)

public override int EndRead(
	IAsyncResult asyncResult


Type: System.IAsyncResult

The reference to the pending asynchronous request to finish.

Return Value

Type: System.Int32

The number of bytes read from the stream, between 0 (zero) and the number of bytes you requested. DeflateStream returns 0 only at the end of the stream; otherwise, it blocks until at least one byte is available.

Exception Condition

asyncResult is null.


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


An exception was thrown during a call to WaitOne.


The end call is invalid because asynchronous read operations for this stream are not yet complete.


The stream is null.

Starting with the .NET Framework 4.5, you can perform asynchronous read operations by using the ReadAsync method. The EndRead method is still available in the .NET Framework 4.5 to support legacy code; however, you can implement asynchronous I/O operations more easily by using the new async methods. For more information, see .

Call this method to determine how many bytes were read from the stream. This method can be called once to return the amount of bytes read between calls to BeginRead and EndRead.

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

.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Return to top