英語で読む

次の方法で共有


Stream.EndWrite(IAsyncResult) メソッド

定義

非同期書き込み操作を終了します。 (代わりに、WriteAsync(Byte[], Int32, Int32) の使用を検討してください。)

C#
public virtual void EndWrite (IAsyncResult asyncResult);

パラメーター

asyncResult
IAsyncResult

保留状態の非同期 I/O リクエストへの参照。

例外

asyncResultnullです。

保留中の書き込み操作へのハンドルは使用できません。

- または -

保留中の操作は書き込みをサポートしていません。

asyncResult は現在のストリームの BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) メソッドから取得されませんでした。

ストリームが閉じているか、内部エラーが発生しました。

注釈

.NET Framework 4 およびそれ以前のバージョンで非同期 I/O 操作を実装するには、 BeginWriteEndWrite などのメソッドを使用する必要があります。 これらのメソッドは、レガシ コードをサポートするために .NET Framework 4.5 で引き続き使用できますが、、、 FlushAsyncなどのReadAsyncWriteAsyncCopyToAsync新しい非同期メソッドを使用すると、非同期 I/O 操作をより簡単に実装できます。

EndWriteは、 から BeginWrite1 回IAsyncResultだけ呼び出す必要があります。

このメソッドは、I/O 操作が完了するまでブロックします。 非同期書き込み要求中に発生するエラー (I/O 要求中のディスク障害など) は、スレッド プール スレッドで発生し、 の呼び出し時に EndWrite表示されます。 スレッド プール スレッドによってスローされた例外は、 を呼び出 EndWriteすときに表示されません。

適用対象

製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

こちらもご覧ください