DbConnection.CloseAsync メソッド

定義

データベースへの接続を非同期に閉じます。

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

戻り値

非同期操作を表す Task

注釈

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

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

メソッドと CloseAsync メソッドはClose、保留中のトランザクションをすべてロールバックします。 その後、接続プールへの接続を解放するか、接続プールが無効になっている場合は接続を閉じます。

1 つのアプリケーションで、またはCloseAsync複数の時刻を呼び出Closeすことができます。 例外は生成されません。

DbConnection スコープ外になった場合、閉じません。 したがって、 または Disposeを呼び出Closeして接続を明示的に閉じる必要があります。これは機能的に同等です。 接続プールの値Poolingが または yestrue設定されている場合は、物理接続も解放されます。

注意事項

クラスの メソッドで、DbConnectionDbDataReaderまたはその他のマネージド オブジェクトをFinalize閉じるか破棄しないでください。 ファイナライザーでは、クラスが直接所有するアンマネージ リソースのみを解放する必要があります。 クラスがアンマネージ リソースを所有していない場合は、クラス定義に Finalize メソッドを含めないでください。 詳しくは、「ガベージ コレクション」をご覧ください。

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

適用対象