OleDbConnection.ReleaseObjectPool Metódus

Definíció

Azt jelzi, hogy az OleDbConnection objektumkészlet felszabadítható az utolsó mögöttes kapcsolat felszabadításakor.

public:
 static void ReleaseObjectPool();
public static void ReleaseObjectPool();
static member ReleaseObjectPool : unit -> unit
Public Shared Sub ReleaseObjectPool ()

Példák

Az alábbi példa létrehoz egy OleDbConnection, megnyitja, megjeleníti annak néhány tulajdonságát, bezárja a kapcsolatot, és felszabadítja az objektumkészletet az erőforrások megőrzése érdekében.

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

Megjegyzések

ReleaseObjectPool olyan erőforrások felszabadítására hívható meg, amelyek egyébként készletezett objektumok számára lennének fenntartva OleDbConnection . Érdemes lehet meghívni ezt a metódust, ha például a kapcsolati objektum nem lesz újra használva arra az időre, amíg az OLE DB-szolgáltatások általában aktívak maradnak a készletezett kapcsolatokban. Vegye figyelembe, hogy a metódus önmagában történő meghívása valójában nem oldja fel a készletben lévő aktív kapcsolatokat.

A készlet végső ártalmatlanítása előtt a következőknek kell történnie:

  1. Hívás Close a kapcsolati objektumnak a készletbe való visszajuttatásához.

  2. Az egyes kapcsolatobjektumok időtúllépésének engedélyezése a készletből.

  3. Hívja fel: ReleaseObjectPool.

  4. Szemétgyűjtés meghívása.

Ezzel szemben, ha az összes aktív kapcsolatot meghívja Close , és meghívja a szemétgyűjtést, de nem hívja meg ReleaseObjectPool, a készletezett objektumok számára fenntartott erőforrások továbbra is elérhetők maradnak.

A következőre érvényes:

Lásd még