Compartir a través de


DbConnection.CloseAsync Método

Definición

Cierra de forma asincrónica la conexión con la base de datos.

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

Devoluciones

Tarea Task que representa la operación asincrónica.

Comentarios

La implementación predeterminada de este método asincrónico delega a su homólogo sincrónico y devuelve un objeto completado Task, lo que podría bloquear el subproceso que realiza la llamada.

Los proveedores de datos que admiten programación asincrónica deben invalidar la implementación predeterminada mediante operaciones de E/S asincrónicas.

Los Close métodos y CloseAsync revierten las transacciones pendientes. A continuación, liberan la conexión al grupo de conexiones o cierran la conexión si la agrupación de conexiones está deshabilitada.

Una aplicación puede llamar a Close o CloseAsync más de una vez. No se genera ninguna excepción.

DbConnection Si sale del ámbito, no se cierra. Por lo tanto, debe cerrar explícitamente la conexión llamando a Close o Dispose, que son funcionalmente equivalentes. Si el valor Pooling de agrupación de conexiones se establece true en o yes, también libera la conexión física.

Precaución

No cierre ni elimine un DbConnectionobjeto , DbDataReadero cualquier otro objeto administrado en el método de la Finalize clase . En un finalizador, solo debe liberar recursos no administrados que su clase posee directamente. Si la clase no dispone de recursos no administrados, no incluya un método Finalize en la definición de clase. Para obtener más información, consulte Recolección de elementos no utilizados.

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, se siguen iniciando de forma sincrónica. Para ver las excepciones almacenadas, consulte las excepciones producidas por Close().

Se aplica a