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 操作を使用して既定の実装をオーバーライドする必要があります。
メソッドと CloseAsync メソッドはClose、保留中のトランザクションをすべてロールバックします。 その後、接続プールへの接続を解放するか、接続プールが無効になっている場合は接続を閉じます。
1 つのアプリケーションで、またはCloseAsync複数の時刻を呼び出Closeすことができます。 例外は生成されません。
が DbConnection スコープ外になった場合、閉じません。 したがって、 または Dispose
を呼び出Close
して接続を明示的に閉じる必要があります。これは機能的に同等です。 接続プールの値Pooling
が または yes
にtrue
設定されている場合は、物理接続も解放されます。
注意事項
クラスの メソッドで、DbConnection
DbDataReader
またはその他のマネージド オブジェクトをFinalize
閉じるか破棄しないでください。 ファイナライザーでは、クラスが直接所有するアンマネージ リソースのみを解放する必要があります。 クラスがアンマネージ リソースを所有していない場合は、クラス定義に Finalize
メソッドを含めないでください。 詳しくは、「ガベージ コレクション」をご覧ください。
このメソッドは、メソッドの同期的な例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクの待機時にスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって Close()スローされる例外に関するページを参照してください。
適用対象
.NET