Stream.EndWrite(IAsyncResult) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
.