DataReader在浏览器关闭之间工作

时间:2013-02-26 01:11:26

标签: asp.net .net ado.net

使用ADO.NET Datareader,用户从具有1000行的数据库表中提取数据。他在两者之间关闭了他的浏览器。

这是在获取仅50条记录之后。 Datareader会发生什么?它会保持联系吗?

并且将获取1000条记录以及之后的内容?垃圾收集器会很快收集并处理吗?

1 个答案:

答案 0 :(得分:1)

尽管mdmullinax是正确的,您应该将所有内容都包含在using语句中,以确保正确清理连接,但您的问题与DataReader的实现方式无关。

一般来说,即使浏览器断开连接,页面也会继续执行。

因此,如果DataReader在从服务器读取响应的中途,它将继续拉出其余的记录,然后DataReader发回信号说明它的处理已完成。

然后页面的其余代码完成执行,并将响应刷新到浏览器。当然,浏览器早已消失,所以这些数据包最终会被丢弃..除非有什么东西在检查Response.IsClientConnected属性。请记住,IsClientConnected属性不是完全证明,因为在不通知服务器的情况下,另一端的浏览器可能会以多种方式消失。

有关详细信息,请查看此处:Does asp.net lifecycle continue if I close the browser in the middle of processing?