Я отправляю HTTPWebRequest третьему лицу с кодом ниже. Ответ занимает от 2 до 22 секунд, чтобы вернуться. Третья сторона утверждает, что, получив ее, она немедленно отправляет ответ, и что ни один из ее других партнеров не сообщает о каких-либо задержках (но я не уверен, что верю им - они лгали раньше).
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.example.com");
request.Timeout = 38000;
request.Method = "POST";
request.ContentType = "text/xml";
StreamWriter streamOut = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
streamOut.Write(XMLToSend); // XMLToSend is just a string that is maybe 1kb in size
streamOut.Close();
HttpWebResponse resp = null;
resp = (HttpWebResponse)request.GetResponse(); // This line takes between 2 and 22 seconds to return.
StreamReader responseReader = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);
Response = responseReader.ReadToEnd(); // Response is merely a string to hold the response.
Есть ли причина, по которой приведенный выше код просто ... сделал бы паузу? Код работает в очень надежном хостинг-провайдере (Rackspace Intensive Segment), и компьютер, на котором он работает, больше ни для чего не используется. Я просто тестирую некоторый код, который мы собираемся запустить в производство. Таким образом, дело не в том, что машина облагается налогом, а учитывая, что это Rackspace и мы платим за лодку, я сомневаюсь, что это и их сеть.
Я просто пытаюсь убедиться, что мой код работает максимально быстро, и что я не делаю глупостей , потому что через несколько недель этот код будет запущен для запуска 20 000 запросов к этой третьей части каждый час.