OleDbConnection.ReleaseObjectPool Método

Definição

Indica que o OleDbConnection object pool pode ser libertado quando a última ligação subjacente for libertada.

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

Exemplos

O exemplo seguinte cria um OleDbConnection, abre-o, apresenta algumas das suas propriedades, fecha a ligação e liberta o conjunto de objetos para conservar 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

Observações

ReleaseObjectPool pode ser chamado a recursos livres que, de outra forma, seriam reservados para objetos agrupados OleDbConnection . Pode querer chamar este método se, por exemplo, o objeto de ligação não for usado novamente durante o tempo em que os serviços OLE DB normalmente mantêm as ligações em pool ativas. Note que chamar o método sozinho não liberta realmente as ligações ativas que existem no pool.

O seguinte deve ocorrer antes de o pool ser finalmente eliminado:

  1. Chamar Close para devolver o objeto de ligação ao pool.

  2. Permita que cada objeto de ligação expire o tempo fora do pool.

  3. Ligue para o ReleaseObjectPool.

  4. Invocar a recolha de lixo.

Por outro lado, se invocar Close todas as ligações ativas e invocar a recolha de lixo, mas não chamar ReleaseObjectPool, os recursos reservados para os objetos agrupados permanecerão disponíveis.

Aplica-se a

Ver também