Как ввести задержку между веб-запросами на сайт в C#?
Я делаю несколько запросов на сайт. Как я могу ввести задержку между запросами, чтобы замедлить мой процесс? Есть ли метод, который позволяет мне просто заставить поток просто ждать X секунд, прежде чем продолжить?
2 ответа
Вы ищете Thread.Sleep
?
Обратите внимание, что это приводит к тому, что текущий поток спит - вы не нацеливаетесь на другой поток. Но если у вас есть цикл внутри одного потока, делающий несколько запросов, вы можете легко добавить его в цикл, чтобы ограничить частоту запросов.
Sleep
метод перегружен - одна подпись принимает TimeSpan
а другой занимает несколько миллисекунд. Лично я бы предпочел первый, так как он не оставляет места для двусмысленности. Например:
Thread.Sleep(TimeSpan.FromSeconds(2));
очевидно просит нить спать 2 секунды, а не 2 минуты, 2 миллисекунды и т. д.
System.Threading.Thread.Sleep(x);
…где x
количество миллисекунд, в течение которых поток спит.
Альтернативой является использование Timer
и делать запрос каждый раз, когда Tick
событие пожары.