Freigeben über


OleDbConnection.ReleaseObjectPool-Methode

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

Namespace: System.Data.OleDb
Assembly: System.Data (in system.data.dll)

Syntax

'Declaration
Public Shared Sub ReleaseObjectPool
'Usage

OleDbConnection.ReleaseObjectPool
public static void ReleaseObjectPool ()
public:
static void ReleaseObjectPool ()
public static void ReleaseObjectPool ()
public static function ReleaseObjectPool ()

Hinweise

ReleaseObjectPool kann aufgerufen werden, um Ressourcen freizugeben, die andernfalls für OleDbConnection-Objekte im Pool reserviert wären. Sie können diese Methode z. B. dann aufrufen, wenn das Verbindungsobjekt während des Zeitraums, in dem OLE DB-Dienste die Verbindungen im Pool aktiv halten, nicht erneut verwendet werden wird. Beachten Sie, dass die aktiven Verbindungen im Pool nicht über die Methode allein freigegeben werden können.

Um den Pool endgültig freizugeben, muss Folgendes ausgeführt werden:

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

  2. Lassen Sie Timeouts für sämtliche Verbindungsobjekte im Pool zu.

  3. Rufen Sie ReleaseObjectPool auf.

  4. Rufen Sie die Garbage Collection auf.

Wenn Sie hingegen Close für alle aktiven Verbindungen sowie die Garbage Collection, jedoch nicht ReleaseObjectPool aufrufen, bleiben die für die Objekte im Pool reservierten Ressourcen verfügbar.

Beispiel

Im folgenden Beispiel wird eine OleDbConnection erstellt und geöffnet, und einige ihrer Eigenschaften werden angezeigt. Anschließend wird die Verbindung geschlossen, und der Objektpool wird freigegeben, um Ressourcen verfügbar zu machen.

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
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.
    }
using System;
using System.Data;
using System.Data.OleDb;

class Class1
{
    static void Main()
    {
        string x = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI";
        OpenConnection(x);
        Console.ReadLine();
    }

    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.
        }

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

OleDbConnection-Klasse
OleDbConnection-Member
System.Data.OleDb-Namespace

Weitere Ressourcen

Herstellen von Verbindungen zu Datenquellen
Verstehen des Verbindungspoolings