Я получаю очень странное поведение с HttpWebRequest, надеюсь, мне кто-нибудь поможет. У меня есть консольное приложение, которое выполняет некоторую агрегацию, используя объект HttpWebRequest для извлечения содержимого целевого веб-сайта. Из-за характера требований приложение является многопоточным и пытается установить от 10 до 30 одновременных соединений (я экспериментировал с диапазоном значений). Фактический веб-запрос имеет следующую структуру:
var req = (HttpWebRequest)WebRequest.Create(url);
WebResponse resp = req.GetResponse();
Stream s = resp.GetResponseStream();
var sr = new StreamReader(s, Encoding.ASCII);
string doc = sr.ReadToEnd();
sr.Close();
resp.Close();
return doc;
В любом случае, странное поведение заключается в том, что при нормальных обстоятельствах приложение выполняет около 120 запросов в минуту, но если я открою Fiddler, оно скачет примерно до 600. Используя Windows 7 Resource Monitor, я вижу, как соответственно увеличивается сетевая активность. Соединения TCP для процесса консоли теперь отображают удаленный адрес как «IPv4 loopback», а не IP-адрес целевого сервера (ожидается). Я задавался вопросом о максимальном количестве одновременных HTTP-запросов, разрешенных машиной, но изменение этого в реестре, похоже, не имеет значения.
Итак, вопрос в том; что такое запуск Fiddler, который внезапно увеличивает пропускную способность в пять раз, и как я могу добиться этого на машине без необходимости запуска другого инструмента?
Спасибо!