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

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

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