次の方法で共有


DbDataReader.DisposeAsync メソッド

定義

DbDataReader クラスの現在のインスタンスによって使用されているすべてのリソースを非同期で解放します。

public:
 virtual System::Threading::Tasks::ValueTask DisposeAsync();
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
abstract member DisposeAsync : unit -> System.Threading.Tasks.ValueTask
override this.DisposeAsync : unit -> System.Threading.Tasks.ValueTask
Public Overridable Function DisposeAsync () As ValueTask

戻り値

非同期操作を表す ValueTask

実装

注釈

を呼び出すかDisposeAsync、 の使用が完了したら を呼び出DisposeしますDbDataReader。 これらのメソッドのいずれかを呼び出すと、 DbDataReader は使用できない状態になります。 破棄した後、ガベージ コレクターが 占有していたメモリDbDataReaderを再利用できるように、 へのDbDataReaderすべての参照を解放する必要があります。

詳細については、アンマネージ リソースのクリーンアップおよびDispose メソッドの実装を参照してください。

注意

への最後の参照 DbDataReaderを解放する前に、必ず 破棄してください。 そうしないと、ガベージ コレクターが DbDataReader オブジェクトの Finalize メソッドを呼び出すまで、使用されているリソースは解放されません。

この非同期メソッドの既定の実装は、その同期メソッドにデリゲートし、完了した ValueTaskを返します。呼び出し元のスレッドがブロックされる可能性があります。

非同期プログラミングをサポートするデータ プロバイダーは、非同期 I/O 操作を使用して既定の実装をオーバーライドする必要があります。

このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって Dispose()スローされる例外に関するページを参照してください。

適用対象