Как ввести задержку между веб-запросами на сайт в C #? - PullRequest
2 голосов
/ 01 января 2011

Я делаю несколько запросов на сайт. Как я могу ввести задержку между запросами, чтобы замедлить мой процесс? Есть ли способ, который позволяет мне просто заставить поток просто ждать X секунд, прежде чем продолжить?

Ответы [ 2 ]

5 голосов
/ 01 января 2011

Вы ищете Thread.Sleep?

Обратите внимание, что это вызывает текущий поток в спящем режиме - вы не нацеливаетесь на другой поток. Но если у вас есть цикл внутри одного потока, делающий несколько запросов, вы можете легко добавить его в цикл, чтобы ограничить частоту запросов.

Метод Sleep перегружен - одна подпись занимает TimeSpan, а другая - несколько миллисекунд. Лично я бы предпочел первый, так как он не оставляет места для двусмысленности. Например:

Thread.Sleep(TimeSpan.FromSeconds(2));

явно просит поток спать в течение 2 секунд, а не 2 минут, 2 миллисекунд и т. Д.

1 голос
/ 01 января 2011
System.Threading.Thread.Sleep(x);

… где x - это количество миллисекунд для ожидания потока.

Альтернативой является использование Timer и выполнение запроса каждый раз при возникновении события Tick.

...