OleDbConnection.ReleaseObjectPool Metodo

Definizione

Indica che il pool di oggetti OleDbConnection può essere rilasciato quando viene rilasciata l'ultima connessione sottostante.

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

Esempio

L'esempio seguente crea un OleDbConnectionoggetto , lo apre, visualizza alcune delle relative proprietà, chiude la connessione e rilascia il pool di oggetti per conservare le risorse.

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

Commenti

ReleaseObjectPool può essere chiamato per liberare risorse che altrimenti sarebbero riservate per gli oggetti in OleDbConnection pool. È possibile chiamare questo metodo se, ad esempio, l'oggetto connessione non verrà nuovamente utilizzato per il periodo di tempo in cui i servizi OLE DB mantengono normalmente attive le connessioni in pool. Si noti che la chiamata al metodo da solo non rilascia effettivamente le connessioni attive presenti nel pool.

Prima che il pool venga eliminato, è necessario eseguire le operazioni seguenti:

  1. Chiamare Close per restituire l'oggetto connessione al pool.

  2. Consente a ogni oggetto connessione di uscire dal pool.

  3. Chiamare ReleaseObjectPool.

  4. Richiamare Garbage Collection.

Viceversa, se si chiama Close su tutte le connessioni attive e si richiama Garbage Collection, ma non si chiama ReleaseObjectPool, le risorse riservate per gli oggetti in pool rimarranno disponibili.

Si applica a

Vedi anche