DbConnection.CloseAsync Método

Definição

Fecha de maneira assíncrona a conexão com o banco de dados.Asynchronously closes the connection to the database.

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

Task

Um Task representando a operação assíncrona.A Task representing the asynchronous operation.

Comentários

A implementação padrão desse método assíncrono delega para sua contraparte síncrona e retorna uma concluída Task , potencialmente bloqueando o thread de chamada.The default implementation of this asynchronous method delegates to its synchronous counterpart and returns a completed Task, potentially blocking the calling thread.

Os provedores de dados que oferecem suporte à programação assíncrona devem substituir a implementação padrão usando operações de e/s assíncronas.Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

Os Close CloseAsync métodos e revertem todas as transações pendentes.The Close and CloseAsync methods roll back any pending transactions. Em seguida, eles liberam a conexão para o pool de conexões ou fecham a conexão se o pool de conexões estiver desabilitado.They then release the connection to the connection pool, or close the connection if connection pooling is disabled.

Um aplicativo pode chamar Close ou CloseAsync mais de uma vez.An application can call Close or CloseAsync more than one time. Nenhuma exceção é gerada.No exception is generated.

Se a DbConnection saída estiver fora do escopo, ela não será fechada.If the DbConnection goes out of scope, it is not closed. Portanto, você deve fechar explicitamente a conexão chamando Close ou Dispose , que são funcionalmente equivalentes.Therefore, you must explicitly close the connection by calling Close or Dispose, which are functionally equivalent. Se o valor do pooling de conexão Pooling for definido como true ou yes , isso também liberará a conexão física.If the connection pooling value Pooling is set to true or yes, this also releases the physical connection.

Cuidado

Não feche nem descarte um DbConnection , um DbDataReader ou qualquer outro objeto gerenciado no Finalize método da sua classe.Do not close or dispose a DbConnection, a DbDataReader, or any other managed object in the Finalize method of your class. Em um finalizador, você só deve liberar recursos não gerenciados que sua classe possui diretamente.In a finalizer, you should only release unmanaged resources that your class owns directly. Se a classe não tiver nenhum recurso não gerenciado, não inclua um método Finalize em sua definição de classe.If your class does not own any unmanaged resources, do not include a Finalize method in your class definition. Para obter mais informações, confira Coleta de lixo.For more information, see Garbage Collection.

Aplica-se a