При проверке статуса веб-сайта веб-сайты перестают отвечать на запросы и загружаются на неопределенный срок случайным образом - PullRequest
0 голосов
/ 27 июля 2011

Я использую следующий код, чтобы проверить состояние около 20 внутренних и внешних веб-сайтов, чтобы узнать, когда они возвращают ошибки.В последнее время он будет работать на 15 сайтах, а затем 16-го, он просто будет там висеть.Если я пытаюсь открыть веб-сайт, на котором возникла проблема, он продолжает загружаться и никогда не заканчивается.Если я подожду несколько минут, это может сработать.

Отправляю ли я слишком много запросов?

Из-за того, что мой код перестал отвечать на сайт?

Есть ли лучший способ получить код состояния для веб-сайта?

private int getWebRequestValue(string website)
{
    try {
        WebRequest request = WebRequest.Create(website);
        using (WebResponse response = request.GetResponse()) {
            HttpWebResponse httpResponse = (HttpWebResponse)response;
            return httpResponse.StatusCode;
        }
    } catch (WebException e) {
        using (WebResponse response = e.Response) {
            if (response == null) {
                return 1;
            } else {
                HttpWebResponse httpResponse = (HttpWebResponse)response;
                return httpResponse.StatusCode;
            }
        }
    }
}

ПРИМЕЧАНИЕ

Я не могу использовать компанию для выполнениямониторинг веб-сайтов

ОБНОВЛЕНИЕ После использования fiddler во время работы моего приложения я вижу, что веб-сайты, которые не загружаются, получают код состояния 302

1 Ответ

0 голосов
/ 27 июля 2011

Я не вижу, чтобы ваш код зависал на веб-сайте.Кроме того, это похоже на хороший способ получить код состояния.Что вам, вероятно, нужно сделать, это добавить тайм-аут, скажем, 30 секунд, к вашему веб-запросу.Свойство WebRequest.Timeout, более подробная информация @ http://msdn.microsoft.com/en-us/library/system.net.webrequest.timeout.aspx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...