HTTP-запрос C # Max соединений - PullRequest
       14

HTTP-запрос C # Max соединений

2 голосов
/ 17 августа 2010

У нас есть несколько веб-серверов (15), и для каждого сервера есть несколько URL-адресов (30).Я написал приложение для рабочего стола Windows, которое выходит на каждый сервер и каждый URL-адрес.(используя для этого httpWebRequest.Proxy).Обычно это только для 2 серверов одновременно.Таким образом, в общей сложности 60 запросов.

Первой проблемой было ограничение на 2 соединения, поэтому я добавил это к форме загрузки: ServicePointManager.DefaultConnectionLimit = 500

Это помогло, но потом мне кажется,столкнитесь с другим лимитом.

После того, как мы развернем код для этих сайтов, им может потребоваться некоторое время, чтобы ответить.Процесс инициализации занимает около 30-40 секунд!Это еще одна история.

Но, похоже, существует ограничение на соединение с Windows XP.Если у меня открыт IE и я пытаюсь получить доступ к сайту, в то время как я запускаю свое приложение для проверки сайтов, IE занимает много времени, пока не вернется страница.Как только приложение начинает получать запросы и закрывает их, тогда IE также возвращает свой ответ.

Кроме того, страница, которую мы вызываем, возвращает нам время, необходимое для вызова других вызовов WebService.Эти времена иногда медленные, но иногда довольно быстрые.У меня есть таймер для каждого HTTP-запроса, который запускает таймер, когда я делаю запрос.Иногда разница между указанным временем ответа страницы и таймером HTTP-запроса довольно велика, например, 40 секунд.

Итак, я думаю, что происходит, когда запрос ставится в очередь, и его таймер работает, но не имеетеще не было отправлено на страницу.

Кто-нибудь знает, что мне нужно изменить, чтобы увеличить общий лимит подключений в Windows XP?Я читал об изменениях в реестре или редактировании tcpip.sys, но хотел бы получить точный ответ от мудрой и умной группы в Stackoverflow.

Спасибо, и я надеюсь, что это имеет смысл.

1 Ответ

1 голос
/ 17 января 2012

Не могли бы вы попробовать добавить это в ваш app.config:

<configuration> 
  <system.net> 
    <connectionManagement>
      <add address="*" maxconnection="65535" />
    </connectionManagement>
  </system.net> 
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...