该表有大约1千万数据,在查询中途尝试取消时,无论是Abort相关线程,还是线程内部主动关闭SqlDataReader,总是报超时异常。
后来查询 http://msdn.microsoft.com/zh-cn/library/vstudio/system.data.sqlclient.sqldatareader.close.aspx ,发现有这么一句话
按照这个提示,修改代码,在调用SqlDataReader的Close方法前先调用相关联的SqlCommand的Cancel方法。
最后结果让我泪流满面,秒关。