Я использую WebRequest в клиенте для использования веб-службы в Интернете. Каждый запрос запускается в отдельном потоке.WebRequest в службе windows
Он хорошо работает при размещении клиента в IIS. Но в большинстве запросов будет вычислена ошибка времени, если клиент размещен в службе Windows.
Когда я пытался отладить проблему с помощью Fiddler, то WebRequest работал хорошо, как весь трафик прошел через 127.0.0.1:8888
Без Скрипач, трафик идет к Интернету непосредственно через произвольный порт, и тайм-аут проблема снова попадает.
Служба Windows работает под учетной записью «Локальная система».
Почему я получаю тайм-аут, если клиент находится в службе Windows без использования прокси?
Обновление: Мой первоначальный вопрос был не ясен. Запросы принимаются одновременно (или с очень коротким интервалом). Это связано с лимитом соединения в классе ServicePoint. По умолчанию для одного и того же внешнего адресата разрешено только 2 подключения. Если пункт назначения является локальным, предел будет значением int.Max. Вот почему скрипач может магически исправить проблему с прокси-сервером. Поэтому я вручную устанавливаю DefaultConnectionLimit равным 100, а запросы на провод.
Adjusting HttpWebRequest Connection Timeout in C#