OleDbConnection.ReleaseObjectPool 方法
指示可在释放最后一个基础连接时释放 OleDbConnection 对象池。
**命名空间:**System.Data.OleDb
**程序集:**System.Data(在 system.data.dll 中)
语法
声明
Public Shared Sub ReleaseObjectPool
用法
OleDbConnection.ReleaseObjectPool
public static void ReleaseObjectPool ()
public:
static void ReleaseObjectPool ()
public static void ReleaseObjectPool ()
public static function ReleaseObjectPool ()
备注
可调用 ReleaseObjectPool 以释放资源,否则这些资源就要保留给汇入池中的 OleDbConnection 对象。例如,如果在 OLE DB 服务通常将汇入池中的连接保持为活动状态的时间内,将不会再次使用连接对象,则就可能会希望调用这个方法。请注意,仅仅调用此方法并不能实际释放池中存在的活动连接。
在池最终被释放之前,必须执行以下操作:
调用 Close 将连接对象返回到池中。
允许每个连接对象都对池超时。
调用 ReleaseObjectPool。
调用垃圾回收。
反过来,如果针对所有活动连接调用 Close,并调用垃圾回收,但是没有调用 ReleaseObjectPool,那么为汇入池中的对象保留的资源仍将保持可用。
示例
下面的示例创建一个 OleDbConnection,打开该连接并显示它的某些属性,然后关闭该连接并释放对象池以节省资源。
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
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.
}
using System;
using System.Data;
using System.Data.OleDb;
class Class1
{
static void Main()
{
string x = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI";
OpenConnection(x);
Console.ReadLine();
}
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.
}
平台
Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
请参见
参考
OleDbConnection 类
OleDbConnection 成员
System.Data.OleDb 命名空间