OleDbConnection.ReleaseObjectPool Methode

Definition

Gibt an, dass der OleDbConnection-Objektpool freigegeben werden kann, sobald die letzte zugrunde liegende Verbindung freigegeben wurde.

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

Beispiele

Im folgenden Beispiel wird ein OleDbConnectionerstellt, wird geöffnet, einige seiner Eigenschaften angezeigt, die Verbindung geschlossen und der Objektpool freigegeben, um Ressourcen zu sparen.

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

Hinweise

ReleaseObjectPool kann aufgerufen werden, um Ressourcen freizugeben, die andernfalls für Poolobjekte OleDbConnection reserviert wären. Sie können diese Methode aufrufen, wenn z. B. das Verbindungsobjekt nicht erneut verwendet wird, während OLE DB-Dienste normalerweise Poolverbindungen aktiv halten. Beachten Sie, dass durch das Aufrufen der Methode allein die aktiven Verbindungen, die im Pool vorhanden sind, nicht tatsächlich freigegeben werden.

Folgendes muss auftreten, bevor der Pool endgültig verworfen wird:

  1. Rufen Sie Close auf, um das Verbindungsobjekt an den Pool zurückzugeben.

  2. Erlauben Sie jedem Verbindungsobjekt ein Timeout aus dem Pool.

  3. Rufen Sie ReleaseObjectPool auf.

  4. Rufen Sie die Garbage Collection auf.

Wenn Sie hingegen für alle aktiven Verbindungen aufrufen Close und die Garbage Collection aufrufen, aber nicht aufrufen ReleaseObjectPool, bleiben die für die Poolobjekte reservierten Ressourcen verfügbar.

Gilt für:

Weitere Informationen