Я провожу некоторое тестирование HTTP-заголовка, чтобы проверить, жив ли URL или нет. Я делаю это со случайно сгенерированными строковыми URL-адресами, проходящими через цикл while, который вызывает функцию HttpRequest. Проблема в том, что, пока HttpWebRequest является Async, цикл while продолжает работать, принимая множество процессов, одновременно проверяя множество ссылок. Поэтому я хотел бы задержать цикл while на несколько секунд / миллисекунд или просто подождать, пока HttpWebRequest обработает только 3 запроса за раз. Я просто потерян здесь, и я не знаю, как это сделать.
Мой цикл while выглядит следующим образом
String Episode = textBox1.Text;
String Rand = newInt(16);
String Url = "http://someurl.com?_" + Episode + "paradisehotel_" + Rand + ".wmv";
while (checkUrl(Url) == false)
{
Rand = newInt(16);
while (isInList(Rand, list))
{
Rand = newInt(16);
}
list.Add(Rand);
Url = "someurl.com_" + Episode + "paradisehotel_" + Rand + ".wmv";
}
Моя функция CheckUrl выглядит следующим образом
private bool checkUrl(String url)
{
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(@url);
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
try
{
WebResponse response = req.GetResponse();
return true;
}
catch (WebException ex)
{
Console.WriteLine(ex.Message);
return false;
}
}
Надеюсь, у кого-то, кто умнее меня, есть решение.
В основном спасибо
Jonas