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
、 或任何其他 Managed 物件。 在完成項中,您應該只釋放類別直接擁有的 Unmanaged 資源。 如果類別未擁有任何 Unmanaged 資源,請不要在類別定義中包含 Finalize
方法。 如需詳細資訊,請參閱記憶體回收。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Close()例外狀況。