Stream.EndWrite(IAsyncResult) Method
Definition
Ends an asynchronous write operation. (Consider using WriteAsync(Byte[], Int32, Int32) instead.)
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)
Parameters
- asyncResult
- IAsyncResult
A reference to the outstanding asynchronous I/O request.
Exceptions
asyncResult
is null
.
A handle to the pending write operation is not available.
-or-
The pending operation does not support writing.
asyncResult
did not originate from a BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) method on the current stream.
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 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
.