SqlConnection.OpenAsync(CancellationToken) 方法

定義

非同步版本的 Open(),這個版本會透過 ConnectionString 所指定的屬性設定開啟資料庫連接。 取消語彙基元可用於要求在連線逾時之前捨棄作業。 例外狀況將經由傳回的工作傳播。 如果超過連接逾時期限而未順利連線,傳回的工作會標示為失敗並發生例外狀況。 實作會傳回一項工作,而不需針對集區和非集區的連接封鎖呼叫的執行緒。

public:
 override System::Threading::Tasks::Task ^ OpenAsync(System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task OpenAsync (System.Threading.CancellationToken cancellationToken);
override this.OpenAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function OpenAsync (cancellationToken As CancellationToken) As Task

參數

cancellationToken
CancellationToken

取消指令。

傳回

表示非同步作業的工作。

例外狀況

在工作完成前,對同一個執行個體呼叫 OpenAsync(CancellationToken) 不止一次。

在連接字串中指定了 Context Connection=true

在連接逾時前,無法從連接集區取得連接。

開啟連線時所發生並由 SQL Server 傳回的任何錯誤。

取消標記已取消。 此例外狀況會儲存在傳回的工作中。

備註

呼叫 OpenAsync之後, State 必須傳回 Connecting ,直到傳 Task 回的 完成為止。 然後,如果連線成功, State 則必須傳回 Open。 如果連線失敗, State 必須傳回 Closed

Close 呼叫會嘗試取消或關閉對應的 OpenAsync 呼叫。

如需 .NET Framework Data Provider for SQL Server 中異步程式設計的詳細資訊,請參閱異步程序設計

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

適用於

另請參閱