OleDbConnection.ReleaseObjectPool Methode

Definitie

Geeft aan dat de OleDbConnection objectgroep kan worden vrijgegeven wanneer de laatste onderliggende verbinding wordt vrijgegeven.

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

Voorbeelden

In het volgende voorbeeld wordt een OleDbConnection, geopend, wordt een aantal eigenschappen weergegeven, wordt de verbinding gesloten en wordt de objectgroep vrijgegeven om resources te besparen.

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

Opmerkingen

ReleaseObjectPool kan worden aangeroepen aan gratis resources die anders zouden worden gereserveerd voor gegroepeerde OleDbConnection objecten. U kunt deze methode aanroepen als het verbindingsobject bijvoorbeeld niet opnieuw wordt gebruikt voor de hoeveelheid tijd die OLE DB-services doorgaans poolverbindingen actief houden. Houd er rekening mee dat het aanroepen van de methode alleen de actieve verbindingen die in de pool aanwezig zijn, niet daadwerkelijk vrijgeeft.

Het volgende moet plaatsvinden voordat de pool definitief wordt verwijderd:

  1. Aanroep Close om het verbindingsobject naar de pool te retourneren.

  2. Sta elk verbindingsobject toe om een time-out van de pool uit te voeren.

  3. Roep ReleaseObjectPool aan.

  4. Roep garbagecollection aan.

Als u echter alle actieve verbindingen aanroept Close en garbagecollection aanroept, maar niet aanroept ReleaseObjectPool, blijven de resources die zijn gereserveerd voor de gegroepeerde objecten beschikbaar.

Van toepassing op

Zie ook