1

在我的 C# 代码中,我有一个 ODBC 数据读取器,它是使用参数调用存储过程的结果。当客户运行程序时,在使用 while 循环从 datareader 检索结果时,在某些时候它会被 rdr.Read() 命令停止并等待未定义的分钟数,然后继续。

while (rdr.Read()) {Somecode...}

什么可能导致这种行为?

4

1 回答 1

1

在某些时候,它会通过 rdr.Read() 命令停止并等待未定义的分钟数,然后继续。

因为它在等待数据。基本上看数据源并找出它挂起的原因。

读者的约定是“要么等待数据,要么抛出异常”。显然,您的数据源有很长的超时(或没有),并且数据没有流入(如您所料)。

于 2010-12-15T14:13:38.770 回答