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하지 않으면 풀된 개체에 예약된 리소스를 계속 사용할 수 있습니다.

적용 대상

추가 정보