DbConnection.CloseAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
データベースへの接続を非同期的に閉じます。
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に設定されている場合は、物理接続も解放されます。
注意事項
クラスの Finalize メソッドで、DbConnection、DbDataReader、またはその他のマネージド オブジェクトを閉じたり破棄したりしないでください。 ファイナライザーでは、クラスが直接所有するアンマネージ リソースのみを解放する必要があります。 クラスがアンマネージ リソースを所有していない場合は、クラス定義に Finalize メソッドを含めないでください。 詳しくは、「ガベージ コレクション」をご覧ください。
このメソッドは、メソッドの同期的な例外がスローできるすべての非使用例外を返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機しているときにスローされます。 ArgumentException などの使用に関する例外は、引き続き同期的にスローされます。 格納されている例外については、 Close()によってスローされる例外を参照してください。