Почему время ожидания WebRequest всегда для первого запроса, но никогда для последующих

Возникла проблема, при которой вызов WebRequest.GetResponse () зависает и истекает время ожидания при первом вызове, но после первого вызова все работает нормально.

        try {
            WebRequest myHttpWebRequest = WebRequest.Create(@"http://192.168.x.x/");
            // Sends the HttpWebRequest and waits for the response.         
            myHttpWebRequest.Timeout = 1000;
            WebResponse myHttpWebResponse = myHttpWebRequest.GetResponse();
        } catch(Exception e) {
            Console.WriteLine("Failure 1");
        }
        try {
            WebRequest myHttpWebRequest = WebRequest.Create(@"http://192.168.x.x/");
            // Sends the HttpWebRequest and waits for the response.         
            myHttpWebRequest.Timeout = 1000;
            WebResponse myHttpWebResponse = myHttpWebRequest.GetResponse(); 
        } catch(Exception e) {
            Console.WriteLine("Failure 2");
        }
        try {
            WebRequest myHttpWebRequest = WebRequest.Create(@"http://192.168.x.x/");
            // Sends the HttpWebRequest and waits for the response.         
            myHttpWebRequest.Timeout = 1000;
            WebResponse myHttpWebResponse = myHttpWebRequest.GetResponse(); 
        } catch(Exception e) {
            Console.WriteLine("Failure 3");
        }

используя этот код в консольном приложении, я всегда получаю Failure 1 . Работает под отладчиком или нет. Я выполнил цикл 1000 , и он всегда терпит неудачу в первом цикле и никогда в других. Фактически, читая логи веб-сервера, он никогда не получает первый запрос. Я что-то здесь упустил?

7
задан Amir Ismail 7 July 2011 в 13:40
поделиться