我正在运行一个使用ODBCDataReader调用SQL查询的代码。查询的结果将被放入电子邮件附件并邮寄给用户。如您所知,邮件服务器可以发送多少数据。所以我所做的是将附件设置为特定大小的限制。这会导致ODBCDataReader在到达查询结尾之前提前完成
while (_ODBCConn.Data.Read() && AttachmentFileSize < MaxAttachmentSize)
{
//Write to file attachment
//Obtain AttahmentFileSize
}
不幸的是,当我运行下一组代码来关闭阅读器时,它会花费很长时间
if (_reader != null)
{
_reader.Close();
}
有人知道如何让读者更快地关闭吗?
答案 0 :(得分:1)
我不是在躲避你的问题,但我怀疑你能否为读者关闭所花费的时间做些什么。但是,如果close命令阻止了一些需要在之后运行的时间敏感代码,则可以在另一个线程上调用该行。我会确保在再次使用之前检查阅读器的状态,因为线程可能需要一些时间才能执行。