Как ввести задержку между веб-запросами на сайт в C#?

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

2 ответа

Решение

Вы ищете Thread.Sleep?

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

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

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

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

System.Threading.Thread.Sleep(x);

…где x количество миллисекунд, в течение которых поток спит.

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

Другие вопросы по тегам