【发布时间】:2012-11-08 03:04:29
【问题描述】:
在跳枪并标记重复之前,我已经搜索了一个没有明确答案的运气。
背景:
我和一位同事在数据读取器方面与我讨论了数据读取器与数据集。
归根结底,我喜欢数据阅读器,因为它轻量级,而我的同事喜欢数据集,因为它没有连接。
他的理由是,由于数据集断开连接,.net 将填充数据集并将连接释放回池中(我们的服务器每天获得数百万次点击)。
他还表示,即使我将 sqlconnection 和 datareader 包装在 using 语句中,连接也不会立即释放,因为 using 语句最终只是在执行 try catch 并调用 connection.close 和 dispose ,这很糟糕,因为我们必须等待垃圾收集器运行,谁知道这需要多长时间。同时,连接不会返回到池中。
我的问题:
他是对的吗?在垃圾回收运行之前,使用数据读取器会导致池中的连接收缩吗?
【问题讨论】:
标签: .net ado.net dataset sqldatareader