OleDbConnection.ReleaseObjectPool OleDbConnection.ReleaseObjectPool OleDbConnection.ReleaseObjectPool OleDbConnection.ReleaseObjectPool Method

Definition

Gibt an, dass die OleDbConnection -Objektpool freigegeben werden kann, wenn die letzte zugrunde liegende Verbindung freigegeben wird.Indicates that the OleDbConnection object pool can be released when the last underlying connection is released.

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

Beispiele

Das folgende Beispiel erstellt eine OleDbConnection, öffnet sie, einige seiner Eigenschaften angezeigt, schließt die Verbindung und des Objektpools zum Einsparen von Ressourcen frei.The following example creates an OleDbConnection, opens it, displays some of its properties, closes the connection, and releases the object pool to conserve resources.

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 reserviert werden sollen, für in einem Pool zusammengefasste OleDbConnection Objekte.ReleaseObjectPool can be called to free resources that would otherwise be reserved for pooled OleDbConnection objects. Möglicherweise möchten diese Methode aufrufen, wenn Sie z. B. das Verbindungsobjekt nicht verwendet wird erneut für den Zeitraum an, mit dem OLE DB-Dienste normalerweise Verbindungen in einem Pool aktiv.You might want to call this method if, for example, the connection object will not be used again for the amount of time that OLE DB services ordinarily keeps pooled connections active. Beachten Sie, dass die Methode aufrufen, die allein nicht tatsächlich die aktiven Verbindungen freigibt, die im Pool vorhanden sind.Note that calling the method alone does not actually release the active connections that exist in the pool.

Folgendes geschehen muss, bevor schließlich der Pool gelöscht wird:The following must occur before the pool is finally disposed:

  1. Rufen Sie Close das Verbindungsobjekt an den Pool zurückgegeben.Call Close to return the connection object to the pool.

  2. Ermöglichen Sie jedes Verbindungsobjekt zu einem Timeout des Pools.Allow each connection object to time out of the pool.

  3. Rufen Sie ReleaseObjectPool auf.Call ReleaseObjectPool.

  4. Rufen Sie die automatische speicherbereinigung.Invoke garbage collection.

Im Gegensatz dazu aufrufen Close auf alle aktiven Verbindungen, und rufen Sie die automatische speicherbereinigung, rufen Sie jedoch nicht ReleaseObjectPool, die Ressourcen, die für die Objekte in einem Pool zusammengefasste verfügbar bleibt, reserviert.Conversely, if you call Close on all active connections, and invoke garbage collection, but do not call ReleaseObjectPool, the resources reserved for the pooled objects will remain available.

Gilt für:

Siehe auch