猿问

.NET里连接池问题

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

例如: public static Connection connection;

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

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

Connection conn1 = 反射连接();

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

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


HUX布斯
浏览 596回答 2
2回答

潇湘沐

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等对象引用。
随时随地看视频慕课网APP
我要回答