OleDbConnection.ReleaseObjectPool 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指出 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 服務通常會讓集區連線保持使用中的時間量,您可能會想要呼叫這個方法。 請注意,單獨呼叫 方法並不會實際釋放集區中存在的作用中聯機。
在集區最終處置之前,必須發生下列情況:
呼叫 Close 以將連接物件傳回集區。
允許每個連接物件逾時集區。
叫用垃圾收集。
相反地,如果您在所有作用中聯機上呼叫 Close ,並叫用垃圾收集,但不要呼叫 ReleaseObjectPool,則保留給集區對象的資源仍可供使用。