SqlConnection.OpenAsync(CancellationToken) Método

Definição

Uma versão assíncrona de Open(), que abre uma ligação à base de dados com as definições de propriedades especificadas pelo ConnectionString. O token de cancelamento pode ser usado para pedir que a operação seja abandonada antes do tempo de extinção da ligação. As exceções serão propagadas através da Tarefa devolvida. Se o tempo de expiração da ligação passar sem que a ligação seja bem-sucedida, a Tarefa devolvida será marcada como falhada com uma Exceção. A implementação devolve uma Tarefa sem bloquear o thread de chamada tanto para ligações em pool como para não pooled.

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

Parâmetros

cancellationToken
CancellationToken

A instrução de cancelamento.

Devoluções

Uma tarefa que representa a operação assíncrona.

Exceções

Chamar OpenAsync(CancellationToken) mais do que uma vez para a mesma instância antes da conclusão da tarefa.

Context Connection=true está especificado no cadeia de ligação.

A ligação não estava disponível no pool de ligações antes do tempo de esgotamento da ligação.

Qualquer erro devolvido pelo SQL Server que tenha ocorrido ao abrir a ligação.

O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.

Observações

Após chamar OpenAsync, State deve regressar Connecting até que o retorno Task seja concluído. Então, se a ligação foi bem-sucedida, State deve devolver Open. Se a ligação falhar, State deve devolver Closed.

Uma chamada para Close tentará cancelar ou encerrar a chamada correspondente OpenAsync .

Para mais informações sobre programação assíncrona no .NET Framework Data Provider para SQL Server, consulte Programação Assíncrona.

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Open().

Aplica-se a

Ver também