当我单击按钮时,循环开始读取数据库并将查询的每一行发送到另一台服务器。当得到响应时 - 循环继续。
代码实现如下
private ManualResetEvent _mre = new ManualResetEvent(true);
和
Thread startUpload = new Thread(() =>
{
//read database
foreach (DataRow dr in dt.Rows)
{
//send request
_mre.WaitOne();
}
});
startUpload.Start();
问题是发送请求时可能不是答案。在我的情况下,这是正常的。但如果没有,答案就来了,然后循环停止。我需要在循环计时器内部进行,在由于缺乏响应而停止循环的情况下,它将在 30 秒内继续循环。
计时器将不得不做
_mre.Set();