Aracılığıyla paylaş


OleDbConnection.ReleaseObjectPool Yöntem

Tanım

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 kaynakları korumak 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 havuza alınan OleDbConnection nesneler için ayrılabilecek kaynakları boşaltmak için çağrılabilir. Örneğin, bağlantı nesnesi OLE DB hizmetlerinin normalde havuza alınan bağlantıları etkin tuttuğu süre boyunca yeniden kullanılmayacaksa bu yöntemi çağırmak isteyebilirsiniz. Yöntemi tek başına çağırmanın aslında havuzda var olan etkin bağlantıları serbest bırakmadığını unutmayın.

Havuz son olarak atılmadan önce aşağıdakiler gerçekleşmelidir:

  1. Bağlantı nesnesini havuza döndürmek için çağrısı Close yapın.

  2. Her bağlantı nesnesinin havuzda zaman aşımına izin verme.

  3. ReleaseObjectPool çağrısı yapın.

  4. Çö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.

Şunlara uygulanır

Ayrıca bkz.