OleDbConnection.ReleaseObjectPool メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
基になる最後の接続が解放されたときに、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 サービスが通常プールされた接続をアクティブに保つ時間の間、接続オブジェクトが再び使用されない場合に、このメソッドを呼び出すことができます。 メソッドを呼び出すだけでは、プールに存在するアクティブな接続は実際には解放されないことに注意してください。
プールが最終的に破棄される前に、次の処理を行う必要があります。
を呼び出 Close して、接続オブジェクトをプールに返します。
各接続オブジェクトがプールからタイムアウトすることを許可します。
ReleaseObjectPool を呼び出します。
ガベージ コレクションを呼び出します。
逆に、すべてのアクティブな接続で を呼び出 Close し、ガベージ コレクションを呼び出しても、 を呼び出 ReleaseObjectPoolさない場合、プールされたオブジェクト用に予約されたリソースは引き続き使用できます。
適用対象
こちらもご覧ください
.NET