Compartilhar via


DbConnection.CloseAsync Método

Definição

Fecha de maneira assíncrona a conexão com o banco de dados.

public:
 virtual System::Threading::Tasks::Task ^ CloseAsync();
public virtual System.Threading.Tasks.Task CloseAsync ();
abstract member CloseAsync : unit -> System.Threading.Tasks.Task
override this.CloseAsync : unit -> System.Threading.Tasks.Task
Public Overridable Function CloseAsync () As Task

Retornos

Um Task representando a operação assíncrona.

Comentários

A implementação padrão desse método assíncrono delega ao seu equivalente síncrono e retorna um concluído Task, potencialmente bloqueando o thread de chamada.

Os provedores de dados que dão suporte à programação assíncrona devem substituir a implementação padrão usando operações de E/S assíncronas.

Os Close métodos e CloseAsync revertem todas as transações pendentes. Em seguida, eles liberam a conexão com o pool de conexões ou fecham a conexão se o pool de conexões estiver desabilitado.

Um aplicativo pode chamar Close ou CloseAsync mais de uma vez. Nenhuma exceção é gerada.

Se o DbConnection sair do escopo, ele não será fechado. Portanto, você deve fechar explicitamente a conexão chamando Close ou Dispose, que são funcionalmente equivalentes. Se o valor Pooling do pool de conexões estiver definido como true ou yes, isso também liberará a conexão física.

Cuidado

Não feche nem descarte um DbConnection, um DbDataReaderou qualquer outro objeto gerenciado no Finalize método de sua classe. Em um finalizador, você só deve liberar recursos não gerenciados que sua classe possui diretamente. Se a classe não tiver nenhum recurso não gerenciado, não inclua um método Finalize em sua definição de classe. Para obter mais informações, confira Coleta de lixo.

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por Close().

Aplica-se a