OleDbConnection.ReleaseObjectPool Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wskazuje, że pulę OleDbConnection obiektów można zwolnić po wydaniu ostatniego połączenia bazowego.
public:
static void ReleaseObjectPool();
public static void ReleaseObjectPool ();
static member ReleaseObjectPool : unit -> unit
Public Shared Sub ReleaseObjectPool ()
Przykłady
Poniższy przykład tworzy obiekt OleDbConnection, otwiera go, wyświetla niektóre jego właściwości, zamyka połączenie i zwalnia pulę obiektów w celu oszczędzania zasobów.
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
Uwagi
ReleaseObjectPool
można wywołać do bezpłatnych zasobów, które w przeciwnym razie byłyby zarezerwowane dla obiektów w puli OleDbConnection . Możesz wywołać tę metodę, jeśli na przykład obiekt połączenia nie będzie ponownie używany przez czas, przez jaki usługi OLE DB zwykle utrzymują aktywne połączenia w puli. Należy pamiętać, że wywołanie samej metody nie zwalnia aktywnych połączeń, które istnieją w puli.
Przed ostatecznym likwidacją puli należy przeprowadzić następujące czynności:
Wywołaj metodę Close , aby zwrócić obiekt połączenia do puli.
Zezwalaj każdemu obiektowi połączenia na przekroczenie limitu czasu puli.
Wywołaj polecenie ReleaseObjectPool.
Wywoływanie odzyskiwania pamięci.
Z drugiej strony, jeśli wywołasz wszystkie aktywne połączenia i wywołasz Close odzyskiwanie pamięci, ale nie wywołasz ReleaseObjectPoolmetody , zasoby zarezerwowane dla obiektów w puli pozostaną dostępne.