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, sobald die letzte zugrunde liegende Verbindung freigegeben wurde.
public:
static void ReleaseObjectPool();
public static void ReleaseObjectPool ();
static member ReleaseObjectPool : unit -> unit
Public Shared Sub ReleaseObjectPool ()
Beispiele
Im folgenden Beispiel wird ein OleDbConnectionerstellt, wird geöffnet, einige seiner Eigenschaften angezeigt, die Verbindung geschlossen und der Objektpool freigegeben, 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 Poolobjekte OleDbConnection reserviert wären. Sie können diese Methode aufrufen, wenn z. B. das Verbindungsobjekt nicht erneut verwendet wird, während OLE DB-Dienste normalerweise Poolverbindungen aktiv halten. Beachten Sie, dass durch das Aufrufen der Methode allein die aktiven Verbindungen, die im Pool vorhanden sind, nicht tatsächlich freigegeben werden.
Folgendes muss auftreten, bevor der Pool endgültig verworfen wird:
Rufen Sie Close auf, um das Verbindungsobjekt an den Pool zurückzugeben.
Erlauben Sie jedem Verbindungsobjekt ein Timeout aus dem Pool.
Rufen Sie ReleaseObjectPool auf.
Rufen Sie die Garbage Collection auf.
Wenn Sie hingegen für alle aktiven Verbindungen aufrufen Close und die Garbage Collection aufrufen, aber nicht aufrufen ReleaseObjectPool, bleiben die für die Poolobjekte reservierten Ressourcen verfügbar.