Language

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を呼び出して、接続を明示的に閉じる必要があります。 接続プール値 Pooling が true または yesに設定されている場合は、物理接続も解放されます。

Caution

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

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

適用対象