如何操作ADO.NET 2.0清除池工作
创始人
2024-06-18 20:31:29
0

虽然有许多人对ADO.NET 2.0的安全性表示怀疑,但在年复一年的不断发展中,他的安全性也在不断提高。保障ADO.NET 2.0的安全性是完全有可能的,但前提是要深入理解到底什么是ADO.NET 2.0,及他是怎么运作的。

(1)连接池的创建

在通过连接字符串创建SqlConnection对象时,创建了连接池。其连接字符串的格式如ADO.NET 2.0下:Data Source=127.0.0.1;Initial Catalog=pub;Persist Security Info=True;User ID=sa;password=sa;Pooling=True;Min Pool Size=10;Max Pool Size=200;timeout=60默认情况下,连接字符串中Pooling属性为True。如果使用连接池,在创建连接对象时,应该使用同一个连接字符串。ADO.net允许创建多个连接池,并且每个池都与不同的连接字符串关联,

打开新连接时,如果连接字符串并非与现有池完全匹配,将创建一个新池。ADO.NET 2.0如果 MinPoolSize 在连接字符串中未指定或指定为零,池中的连接将在一段时间不活动后关闭。但是,如果指定的 MinPoolSize 大于零,在 AppDomain 被卸载并且进程结束之前,连接池不会被破坏。非活动或空池的维护只需要最少的系统开销。

(2)添加连接

连接池是为每个唯一的连接字符串创建的。当创建一个池后,将创建多个连接ADO.NET 2.0对象并将其添加到该池中,以满足最小池大小的要求。连接根据需要添加到池中,但是不能超过指定的***池大小(默认值为 100)。连接在关闭或断开时释放回池中。连接池进程通过在连接释放回池中时重新分配连接,来满足这些连接请求。如果已达到***池大小且不存在可用的连接,则该请求将会排队。

然后,池进程尝试重新建立任何连接,直到到达超时时间(默认值为 15 秒)。ADO.NET 2.0如果池进程在连接超时之前无法满足请求,将引发异常。

(3)移除连接

如果连接长时间空闲,或池进程检测到与服务器的连接已断开,连接池进程会将该连接从池中移除。在使用完连接时一定要关闭连接,以便连接可以返回池。要关闭连接,可以使用 Connection 对象的 Close 或 Dispose 方法,也可以通过在 C# 的 using 语句中。#t#

(4)清除池

ADO.NET 2.0 引入了两种新的方法来清除池:ClearAllPools 和 ClearPool。ClearAllPools 清除指定提供程序的连接池,ClearPool 清除与特定连接关联的连接池。

(5)事务支持

连接是根据事务上下文来从池中取出并进行分配的。除非在连接字符串中指定了 Enlist=false,否则连接池将确保连接在 Current 上下文中登记。如果连接使用登记的 System.Transactions 事务关闭并返回到池中,连接将保留在池中,以便使用相同 System.Transactions 事务对该连接池的下一次请求将返回相同的连接(如果可用)。

如果发出这样的请求,而没有可用的池连接,则会从池的非事务性ADO.NET 2.0部分取出一个连接并登记。如果在池的每个区域都没有可用的连接,则会创建一个新的连接并登记。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...