0

在开枪并标记重复之前,我搜索了一个没有明确答案的运气。

背景:
我和一位同事在数据阅读器方面与我讨论了数据阅读器与数据集。

归根结底,我喜欢数据阅读器,因为它轻量级,而我的同事喜欢数据集,因为它没有连接。

他的理由是,由于数据集断开连接,.net 将填充数据集并将连接释放回池中(我们的服务器每天获得数百万次点击)。

他还表示,即使我将 sqlconnection 和 datareader 包装在 using 语句中,连接也不会立即释放,因为 using 语句最终只是在执行 try catch 并调用 connection.close 和 dispose,这很糟糕因为我们必须等待垃圾收集器运行,谁知道这需要多长时间。同时,连接不会返回到池中。

我的问题:
他是对的吗?并且使用数据读取器会导致池中的连接收缩,直到垃圾收集运行?

4

1 回答 1

0

他所说的实际上是有道理的,因为我在我公司目前正在运行的一个项目中体验过它,虽然开发人员已经编写了关闭连接的代码,但连接仍然是打开的,而且很多时候我们得到了连接池这就是我们开始在所有新项目中使用断开连接架构的原因。

于 2012-11-20T06:35:11.140 回答