2014-10-20 4 views
-3

При запуске программы на C#, которая генерирует несколько сетевых запросов в многопоточной среде, я обнаружил, что Request.GetRequestStream довольно медленный, иногда занимает несколько секунд и обычно в два раза больше, чем последующий GetResponse. Это даже несмотря на то, что Proxy был установлен в null, «стандартное» исправление.GetRequestStream очень медленный

В чем причина этого?

+0

Конечно, обман не появлялся примерно через 20 минут поиска в Интернете. –

ответ

0

Получается, что .NET, by default, has a default limit of 2 for simultaneous connections. Разумеется, это серьезно затмит любое приложение, которое сделает значительную многопоточность, и задержка появится в вызове GetRequestStream.

«Исправить», чтобы изменить ограничение по умолчанию на что-то более разумном с:

ServicePointManager.DefaultConnectionLimit = newConnectionLimit; 

Мой покосившийся Mac под управлением Windows на VMWare, кажется обрабатывать значение 20 OK, но некоторые следует соблюдать осторожность при число, как большое, позволит увеличить количество ресурсов без дополнительной производительности.

+0

Вы точно ответили, что один быстро. – Xela

+0

Я отправил вопрос/ответ, чтобы найти информацию на SO. «Ошибка» выше не появлялась примерно через 20 минут поиска. –

Смежные вопросы