次の方法で共有


SqlConnection.OpenAsync(CancellationToken) メソッド

定義

ConnectionString で指定したプロパティ設定を使用してデータベース接続を開く Open() の非同期バージョン。 キャンセル トークンを使用すると、接続タイムアウトが経過する前に操作を破棄することを要求できます。 例外は、返されたタスクによって伝達されます。 接続が成功せずに接続タイムアウトの時間が経過した場合、返されるタスクは例外での失敗としてマークされます。 実装は、プール済みの接続でもプールされていない接続でも、呼び出し元のスレッドをブロックすることなくタスクを返します。

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 によって返されるすべてのエラー。

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

注釈

を呼び出したOpenAsyncState後、返Connectingされる Task が完了するまで を返す必要があります。 その後、接続が成功した場合は、 State を返す Open必要があります。 接続に失敗した場合は、 State を返す Closed必要があります。

Close 呼び出しでは、対応する OpenAsync 呼び出しを取り消すか閉じようとします。

SQL Serverの.NET Framework データ プロバイダーでの非同期プログラミングの詳細については、「非同期プログラミング」を参照してください。

このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって Open()スローされる例外に関するページを参照してください。

適用対象

こちらもご覧ください