OleDbConnection.ReleaseObjectPool 方法

定義

指出 OleDbConnection 物件集區 (Object Pool) 可在釋放最後一個基礎連接時釋放。

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,則保留給集區對象的資源仍可供使用。

適用於

另請參閱