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 作業覆寫預設實作。

CloseCloseAsync 方法會回復任何擱置的交易。 然後,他們會釋放連線集區的連線,或停用連線共用時關閉連線。

應用程式可以呼叫 CloseCloseAsync 多次。 不會產生例外狀況。

DbConnection如果超出範圍,則不會關閉。 因此,您必須藉由呼叫 CloseDispose明確關閉連線,其功能上是相等的。 如果連接共用值 Pooling 設定為 trueyes,這也會釋放實體連線。

警告

請勿在 類別的 方法中Finalize關閉或處置 DbConnectionDbDataReader、 或任何其他 Managed 物件。 在完成項中,您應該只釋放類別直接擁有的 Unmanaged 資源。 如果類別未擁有任何 Unmanaged 資源,請不要在類別定義中包含 Finalize 方法。 如需詳細資訊,請參閱記憶體回收

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Close()例外狀況。

適用於