Я звоню в веб-службу в многопоточной среде. Многие мои вызовы терпят неудачу из-за тайм-аута работы или плохого запроса, но ни один из вызовов не работает, если я делаю это линейным образом, что означает, что есть проблема с вызовом web-сервиса с несколькими потоками. После много анализа я обнаружил, что существует ограничение на одновременное соединение, которое вызывает это исключение, поэтому я исправил его, добавив ниже код.Недостаток увеличения ServicePointManager.DefaultConnectionLimit
ServicePointManager.DefaultConnectionLimit = 2 * _ThreadCount;
То, что я не знаю, является возможным недостатком увеличения этого предела. По умолчанию ограничение подключения равно 2. Если кто-либо знает какие-либо недостатки, пожалуйста, дайте мне знать.
MSDN также заявляет, что значением по умолчанию является MaxValue, но когда я отлаживаю, я вижу значение по умолчанию как 2 – Viru
@Viru: - Да, он по умолчанию установлен в MaxValue. Вы уверены, что он не был изменен ранее? –
Нет, где в моем приложении или конфигурации я устанавливаю это значение, но если я его правильно подхожу, это настройка уровня системы, поэтому может быть конфигурация в machine.config, которую я не проверял .... в любом случае, я больше заинтересован в выявлении любых возможных недостатков – Viru