OleDbConnection.ReleaseObjectPool Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Nesne havuzunun OleDbConnection , temel alınan son bağlantı serbest bırakıldığında serbest bırakılabildiğini gösterir.
public:
static void ReleaseObjectPool();
public static void ReleaseObjectPool();
static member ReleaseObjectPool : unit -> unit
Public Shared Sub ReleaseObjectPool ()
Örnekler
Aşağıdaki örnek bir OleDbConnectionoluşturur, açar, bazı özelliklerini görüntüler, bağlantıyı kapatır ve kaynaklardan tasarruf etmek için nesne havuzunu serbest bırakır.
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
Açıklamalar
ReleaseObjectPool aksi takdirde havuza alınan OleDbConnection nesneler için ayrılmış olan ücretsiz kaynaklara çağrılabilir. Örneğin, OLE DB hizmetlerinin normalde havuza alınan bağlantıları etkin tuttuğu süre boyunca bağlantı nesnesi yeniden kullanılmıyorsa bu yöntemi çağırmak isteyebilirsiniz. Yalnızca yöntemini çağırmanın, havuzda var olan etkin bağlantıları gerçekten serbest bırakmadığını unutmayın.
Havuz son olarak atılmadan önce aşağıdakiler gerçekleşmelidir:
Bağlantı nesnesini havuza döndürmek için çağrısı Close yapın.
Her bağlantı nesnesinin havuzdan zaman aşımına uğradıklarına izin verin.
ReleaseObjectPool'ı arayın.
Çöp toplamayı çağır.
Buna karşılık, tüm etkin bağlantıları çağırır Close ve çöp toplamayı çağırırsanız, ancak çağırmazsanız ReleaseObjectPool, havuza alınan nesneler için ayrılmış kaynaklar kullanılabilir durumda kalır.