OleDbConnection.ReleaseObjectPool Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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:
Hívás Close a kapcsolati objektumnak a készletbe való visszajuttatásához.
Az egyes kapcsolatobjektumok időtúllépésének engedélyezése a készletből.
Hívja fel: ReleaseObjectPool.
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.