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 操作を使用して既定の実装をオーバーライドする必要があります。

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

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

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

注意事項

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

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

適用対象