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

撥打 to Close 會嘗試取消或關閉對應 OpenAsync 的通話。

欲了解更多關於.NET框架Data Provider for SQL Server 非同步程式設計的資訊,請參見 非同步程式設計

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

適用於

另請參閱