Compartir a través de


OleDbConnection.ReleaseObjectPool Método

Definición

Indica que la agrupación de objetos OleDbConnection podrá liberarse cuando se libere la última conexión subyacente.

public:
 static void ReleaseObjectPool();
public static void ReleaseObjectPool ();
static member ReleaseObjectPool : unit -> unit
Public Shared Sub ReleaseObjectPool ()

Ejemplos

En el ejemplo siguiente se crea un OleDbConnection, se abre, se muestran algunas de sus propiedades, se cierra la conexión y se libera el grupo de objetos para conservar los recursos.

static void OpenConnection(string connectionString)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        try
        {
            connection.Open();
            Console.WriteLine("Connection.State: {0}", connection.State);

            connection.Close();
            OleDbConnection.ReleaseObjectPool();
            Console.WriteLine("Connection.State: {0}", connection.State);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
}
Public Sub OpenConnection(ByVal connectionString As String)

    Using connection As New OleDbConnection(connectionString)
        Try
            connection.Open()
            Console.WriteLine("Connection.State: {0}", _
                connection.State)

            connection.Close()
            OleDbConnection.ReleaseObjectPool()
            Console.WriteLine("Connection.State: {0}", _
                connection.State)

        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
    End Using
End Sub

Comentarios

ReleaseObjectPool se puede llamar a para liberar recursos que, de lo contrario, se reservarían para objetos agrupados OleDbConnection . Es posible que quiera llamar a este método si, por ejemplo, el objeto de conexión no se volverá a usar durante el tiempo que los servicios OLE DB normalmente mantienen activas las conexiones agrupadas. Tenga en cuenta que llamar solo al método no libera realmente las conexiones activas que existen en el grupo.

Debe producirse lo siguiente antes de que el grupo se elimine por último:

  1. Llame Close a para devolver el objeto de conexión al grupo.

  2. Permitir que cada objeto de conexión agote el tiempo de espera del grupo.

  3. Llame a ReleaseObjectPool.

  4. Invoque la recolección de elementos no utilizados.

Por el contrario, si llama a Close en todas las conexiones activas e invoca la recolección de elementos no utilizados, pero no llama a ReleaseObjectPool, los recursos reservados para los objetos agrupados permanecerán disponibles.

Se aplica a

Consulte también