Когда я нажимаю кнопку, цикл начинает считывать базу данных и отправлять каждую строку запроса на другой сервер. Когда получите ответ - цикл продолжается.Таймер в foreach с ManualResetEvent
код реализуется следующим образом
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();
Где именно проблема? Что вы пытаетесь достичь? Можете ли вы подробнее рассказать об этом? – pasty
@pasty, например, когда в foreach: timer = new System.Threading.Timer (новый TimerCallback (DoSomething), null, 0, 30000); Цикл не ждет ответа. Просто squander – alexander