EndWrite Method

Stream.EndWrite Method (IAsyncResult)


Ends an asynchronous write operation. (Consider using WriteAsync instead; see the Remarks section.)

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

public virtual void EndWrite(
	IAsyncResult asyncResult


Type: System.IAsyncResult

A reference to the outstanding asynchronous I/O request.

Exception Condition

asyncResult is null.


A handle to the pending write operation is not available.


The pending operation does not support writing.


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


The stream is closed or an internal error has occurred.

In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite 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.

EndWrite must be called exactly once on every IAsyncResult from BeginWrite.

This method blocks until the I/O operation has completed. Errors that occur during an asynchronous write request, such as a disk failure during the I/O request, occur on the thread pool thread and become visible upon a call to EndWrite. Exceptions thrown by the thread pool thread will not be visible when calling EndWrite.

.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top
© 2015 Microsoft