对于ADO.NET 2.0 连接调试解析

开发 后端
ADO.NET 2.0 的技术人员对Team System承诺,提供相关工具,这样可以为整个软件开发周期少了不少弯路,降低工作的复杂性。

ADO.NET 2.0 还是比较常用的,于是我研究了一下ADO.NET 2.0 ,在这里拿出来和大家分享一下,希望对大家有用。本文向大家介绍ADO.NET 2.0 ,可能好多人还不了解ADO.NET 2.0 。

连接池是为每个唯一的连接字符串创建的。 当ADO.NET 2.0 一个池后,将创建多个连接对象并将其添加到该池中,以满足最小池大小的要求。 连接根据需要添加到池中,但是不能超过指定的最大池大小(默认值为 100)。 连接在关闭或断开时释放回池中。

在请求 SqlConnection 对象时,ADO.NET 2.0 如果存在可用的连接,将从池中获取该对象。 连接要可用,必须未使用,具有匹配的事务上下文或未与任何事务上下文关联,并且具有与服务器的有效链接。

连接池进程通过在连接释放回池中时重新分配连接,来满足这些连接请求。ADO.NET 2.0  如果已达到最大池大小且不存在可用的连接,则该请求将会排队。 然后,池进程尝试重新建立任何连接,直到到达超时时间(默认值为 15 秒)。 如果池进程在连接超时之前无法满足请求,将引发异常。#t#

警告:
我们强烈建议您在使用完连接后总是将其关闭,以使连接返回到池中。ADO.NET 2.0 要关闭连接,可以使用 Connection 对象的 Close 或 Dispose 方法,也可以通过在 C# 的 using 语句中或在 Visual Basic 的 Using 语句中打开所有连接。 不是显式关闭的连接可能不会添加或返回到池中。

移除连接
如果连接长时间空闲,或池进程检测到与服务器的连接已断开,连接池进程会将该连接从池中移除。 注意,只有在尝试与服务器进行通信之后才能检测到断开的连接。 如果发现某连接不再连接到服务器,ADO.NET 2.0 则会将其标记为无效。 无效连接只有在关闭或重新建立后,才会从连接池中移除。

如果存在与已消失的服务器的连接,那么即使连接池管理程序未检测到已断开的连接并将其标记为无效,ADO.NET 2.0 仍有可能将此连接从池中取出。 这种情况是因为检查连接是否仍有效的系统开销将造成与服务器的另一次往返,从而抵消了池进程的优势。 发生此情况时,初次尝试使用该连接将检测连接是否曾断开,并引发异常。

ADO.NET 2.0 引入了清除池的两种新方法: ClearAllPools 和 ClearPool。 ClearAllPools 清除给定提供程序的连接池,ClearPool 清除与特定连接关联的连接池。 如果在调用时连接正在使用,将进行相应的标记。 连接关闭时,将被丢弃,而不是返回池中。

责任编辑:chenqingxiang 来源: 全球IP通信联盟
相关推荐

2009-12-23 17:54:01

ADO.NET 2.0

2009-12-22 09:59:06

ADO.NET数据库

2009-12-21 16:53:06

ADO.NET使用说明

2009-12-23 16:43:34

ADO.NET模型

2009-12-21 14:39:09

ADO.NET技巧

2009-12-23 16:05:47

ADO.NET错误

2009-09-09 10:23:59

ADO.NET连接

2009-11-11 14:44:27

ADO.NET 2.0

2009-12-23 10:10:59

ADO.NET编程

2009-12-22 14:05:33

ADO.NET代码

2009-12-23 14:07:09

ADO.NET实例对象

2009-12-29 14:09:17

ADO.NET通用接口

2009-11-04 14:17:34

ADO.NET 2.0

2009-11-12 10:53:57

ADO.NET连接My

2009-12-24 13:38:07

ADO.NET技术

2009-12-22 16:23:26

ADO.NET访问

2010-01-04 10:14:04

ADO.NET对象模型

2009-12-18 13:52:39

ADO.NET设计器

2009-12-21 17:02:19

ADO.NET Sql

2009-12-25 10:25:59

点赞
收藏

51CTO技术栈公众号