首页 新闻 赞助 找找看

.NET里连接池问题

0
悬赏园豆:20 [已关闭问题]

1:静态变量也会用到连接池吗?

例如: public static Connection connection;

我声明了一个静态 Connection 变量, 不是知道 我再给这个变量赋 不同连接之后,连接池会保留 以前的连接吗? 如何可以,那么 如果同时多人 使用这个连接的时候 ,会不会出现等待 。

2:反射连接之后 连接池是否保留连接

Connection conn1 = 反射连接();

我如果下次 操作 同样写成 上面那样,不知道 是会重新执行反射操作,还是直接从 连接池中取出连接呢?

上面2点,我十分不解,希望高手 详细解答。。感激不尽~

rainrcn的主页 rainrcn | 初学一级 | 园豆:113
提问于:2010-01-11 03:45
< >
分享
其他回答(2)
0

Connection 变量被赋值后,原有连接将中断,因为GC在回收Connection时会调用析构释放连接。

eaglet | 园豆:17139 (专家六级) | 2010-01-11 08:54
中断是的,但是.net默认的连接池该怎么说?
支持(0) 反对(0) rainrcn | 园豆:113 (初学一级) | 2010-01-11 18:16
0

GC回收时间不定,需手动释放。

阿松 | 园豆:601 (小虾三级) | 2010-01-11 09:04
0

DbConnection.Open 从连接池中获取一条连接(DbConnectionInternal);

DbConnection.Close 将 DbConnection 持有的一条连接归还给连接池;

DbConnection析构的时候,会调用 Close。

DbConnectionInternal.Close,Doom,才真正的断开与数据库服务器的连接。

DbConnectionInternal 何时真正的断开,取决于连接池的属性设置,诸如Min Connection Size,Max Connection Size,Deactive Queue ,Connection Lifetime,Connection Timeout等参数,以及

DbConnectionInternal 是否被 DbDataReader,DbCommand等对象引用。

Launcher | 园豆:45045 (高人七级) | 2010-01-25 22:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册