OleDbConnection.ReleaseObjectPool Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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:
Aanroep Close om het verbindingsobject naar de pool te retourneren.
Sta elk verbindingsobject toe om een time-out van de pool uit te voeren.
Roep ReleaseObjectPool aan.
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.