語言

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

傳回

A Task 代表非同步操作。

備註

此非同步方法的預設實作會委派給同步對應程序,並回傳完成 Task的 ,可能會阻塞呼叫執行緒。

支援 非同步程式設計 的資料提供者應透過非同步 I/O 操作覆蓋預設實作。

Close和 CloseAsync 方法會回滾任何待處理的交易。 接著他們會釋放連線到連線池,或如果關閉連線池,則關閉連線。

應用程式可以呼叫或Close多次。CloseAsync 不會產生例外。

如果超出 DbConnection 範圍,則不會被關閉。 因此,你必須明確地透過呼叫 Close 或 Dispose來閉合,這兩者在功能上是等價的。 若連線池值 Pooling 設為 true 或 yes,則同時釋放實體連線。

注意事項

請勿關閉或處理DbConnection類別中DbDataReader管理的物件、a Finalize、 或其他受管理物件。 在終結者中,你應該只釋放你職業直接擁有的未管理資源。 如果你的類別沒有擁有任何非管理資源,請不要在類別定義中包含某個 Finalize 方法。 如需詳細資訊,請參閱垃圾回收(Garbage Collection, GC)。

此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 Close()拋出的例外。

適用於