OleDbConnection.ReleaseObjectPool Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Означает, что пул объектов OleDbConnection может быть освобожден, когда последнее основное подключение будет освобождено.
public:
static void ReleaseObjectPool();
public static void ReleaseObjectPool ();
static member ReleaseObjectPool : unit -> unit
Public Shared Sub ReleaseObjectPool ()
Примеры
В следующем примере создается OleDbConnection, открывается, отображаются некоторые его свойства, закрывается подключение и освобождается пул объектов для экономии ресурсов.
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
Комментарии
ReleaseObjectPool
может вызываться для освобождения ресурсов, которые в противном случае были бы зарезервированы для объектов в пуле OleDbConnection . Вы можете вызвать этот метод, если, например, объект подключения не будет использоваться повторно в течение времени, в течение которого службы OLE DB обычно поддерживают активные подключения в пуле. Обратите внимание, что только вызов метода не освобождает активные подключения, существующие в пуле.
Перед окончательной ликвидацией пула необходимо выполнить следующее:
Вызовите Close , чтобы вернуть объект подключения в пул.
Разрешите каждому объекту подключения время выхода из пула.
Вызовите процедуру ReleaseObjectPool.
Вызов сборки мусора.
И наоборот, если вы вызываете Close для всех активных подключений и вызываете сборку мусора, но не вызываете ReleaseObjectPool, ресурсы, зарезервированные для объектов в пуле, останутся доступными.