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,则为共用对象保留的资源将保持可用。

适用于

另请参阅