SqlConnection.OpenAsync(CancellationToken) Metoda

Definice

Asynchronní verze Open(), která otevře připojení databáze s nastavením vlastnosti určeného parametrem ConnectionString. Token zrušení lze použít k vyžádání, aby byla operace zrušena před vypršením časového limitu připojení. Výjimky se rozšíří prostřednictvím vrácené úlohy. Pokud časový limit připojení uplyne bez úspěšného připojení, bude vrácená úloha označena jako chybná s výjimkou. Implementace vrátí úlohu bez blokování volajícího vlákna pro připojení ve fondu i bez fondu připojení.

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

Parametry

cancellationToken
CancellationToken

Instrukce zrušení.

Návraty

Úloha představující asynchronní operaci.

Výjimky

Volání OpenAsync(CancellationToken) více než jednou pro stejnou instanci před dokončením úkolu

Context Connection=true je zadán v připojovací řetězec.

Připojení nebylo k dispozici z fondu připojení před vypršením časového limitu připojení.

Všechny chyby vrácené SQL Server, ke kterým došlo při otevírání připojení.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Poznámky

Po volání OpenAsyncState se musí vrátitConnecting, dokud se vrácená Task funkce nedokončí. Pokud bylo připojení úspěšné, State musí se vrátit Open. Pokud se připojení nezdaří, State musí se vrátit Closed.

Volání Close se pokusí zrušit nebo zavřít odpovídající OpenAsync hovor.

Další informace o asynchronním programování v Zprostředkovatel dat .NET Framework pro SQL Server naleznete v tématu Synchronous Programming.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Open().

Platí pro

Viz také