Поделиться через


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 обычно поддерживают активные подключения в пуле. Обратите внимание, что только вызов метода не освобождает активные подключения, существующие в пуле.

Перед окончательной ликвидацией пула необходимо выполнить следующее:

  1. Вызовите Close , чтобы вернуть объект подключения в пул.

  2. Разрешите каждому объекту подключения время выхода из пула.

  3. Вызовите процедуру ReleaseObjectPool.

  4. Вызов сборки мусора.

И наоборот, если вы вызываете Close для всех активных подключений и вызываете сборку мусора, но не вызываете ReleaseObjectPool, ресурсы, зарезервированные для объектов в пуле, останутся доступными.

Применяется к

См. также раздел