OleDbConnection.ReleaseObjectPool 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
마지막 기본 연결이 해제될 때 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하지 않으면 풀된 개체에 예약된 리소스를 계속 사용할 수 있습니다.
적용 대상
추가 정보
.NET