DbConnection.CloseAsync メソッド

定義

データベースへの接続を非同期に閉じます。Asynchronously closes the connection to the database.

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

非同期操作を表す TaskA Task representing the asynchronous operation.

注釈

この非同期メソッドの既定の実装は、対応する同期メソッドにデリゲートし、完了したを返します。これは、 Task 呼び出し元のスレッドをブロックする可能性があります。The default implementation of this asynchronous method delegates to its synchronous counterpart and returns a completed Task, potentially blocking the calling thread.

非同期プログラミングをサポートするデータプロバイダーは、非同期 i/o 操作を使用して既定の実装をオーバーライドする必要があります。Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

Closeメソッドと CloseAsync メソッドは、保留中のトランザクションをロールバックします。The Close and CloseAsync methods roll back any pending transactions. 次に、接続プールへの接続を解放するか、接続プールが無効になっている場合は接続を閉じます。They then release the connection to the connection pool, or close the connection if connection pooling is disabled.

アプリケーションは、またはを複数回呼び出すことができ Close CloseAsync ます。An application can call Close or CloseAsync more than one time. 例外は生成されません。No exception is generated.

DbConnection スコープ外に出ると、閉じられません。If the DbConnection goes out of scope, it is not closed. そのため、またはを呼び出すことによって、接続を明示的に閉じる必要があり Close Dispose ます。これは機能的には同等です。Therefore, you must explicitly close the connection by calling Close or Dispose, which are functionally equivalent. 接続プールの値 Pooling がまたはに設定されている場合は、 true yes 物理接続も解放されます。If the connection pooling value Pooling is set to true or yes, this also releases the physical connection.

注意事項

DbConnection DbDataReader クラスのメソッドで、、、またはその他のマネージオブジェクトを閉じたり破棄したりしないでください FinalizeDo not close or dispose a DbConnection, a DbDataReader, or any other managed object in the Finalize method of your class. ファイナライザーでは、クラスが直接所有しているアンマネージリソースのみを解放する必要があります。In a finalizer, you should only release unmanaged resources that your class owns directly. クラスがアンマネージ リソースを所有していない場合は、クラス定義に Finalize メソッドを含めないでください。If your class does not own any unmanaged resources, do not include a Finalize method in your class definition. 詳しくは、「ガベージ コレクション」をご覧ください。For more information, see Garbage Collection.

適用対象