OleDbConnection.ReleaseObjectPool Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt an, dass der OleDbConnection Objektpool freigegeben werden kann, wenn die letzte zugrunde liegende Verbindung freigegeben wird.
public:
static void ReleaseObjectPool();
public static void ReleaseObjectPool();
static member ReleaseObjectPool : unit -> unit
Public Shared Sub ReleaseObjectPool ()
Beispiele
Im folgenden Beispiel wird ein OleDbConnection, öffnet es, zeigt einige seiner Eigenschaften an, schließt die Verbindung und gibt den Objektpool frei, 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 poolierte OleDbConnection Objekte reserviert wären. Sie können diese Methode aufrufen, wenn das Verbindungsobjekt z. B. nicht mehr für den Zeitraum verwendet wird, für den OLE DB-Dienste in einem Pool aktiv bleiben. Beachten Sie, dass das Aufrufen der Methode allein nicht die aktiven Verbindungen freigibt, die im Pool vorhanden sind.
Bevor der Pool endgültig verworfen wird, muss Folgendes auftreten:
Aufrufen Close , um das Verbindungsobjekt an den Pool zurückzugeben.
Jedem Verbindungsobjekt das Timeout des Pools erlauben.
Rufen Sie ReleaseObjectPoolauf.
Aufrufen der Garbage Collection.
Wenn Sie dagegen alle aktiven Verbindungen aufrufen Close und die Garbage Collection aufrufen, aber nicht aufrufen ReleaseObjectPool, bleiben die ressourcen verfügbar, die für die gruppierten Objekte reserviert sind.