1

私のC#コードには、パラメーターを使用してストアドプロシージャを呼び出した結果であるODBCデータリーダーがあります。お客様がプログラムを実行しているときに、whileループを使用してデータリーダーから結果を取得しているときに、ある時点でrdr.Read()コマンドによって停止し、未定義の分数だけ待機してから続行します。

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

この動作の原因は何ですか?

4

1 に答える 1

1

ある時点で、rdr.Read()コマンドによって停止し、未定義の分数だけ待機してから続行します。

データを待っているからです。基本的にデータソースを見て、なぜハングするのかを理解します。

読者の契約は「データを待つか、例外をスローする」です。明らかに、データソースには長いタイムアウト(またはなし)があり、データは(予想どおりに)流入していません。

于 2010-12-15T14:13:38.770 に答える