Te „dobre” dokumenty RFC nakazują każdemu klientowi RFC, aby nie korzystał z więcej niż 2 połączeń na hosta ...
Microsoft zaimplementował to w WebClient. Wiem, że można to wyłączyć za pomocą
App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<connectionManagement>
<add address="*" maxconnection="100" />
</connectionManagement>
</system.net>
</configuration>
(znalezione na http://social.msdn.microsoft.com/forums/en-US/netfxnetcom/thread/1f863f20-09f9-49a5-8eee-17a89b591007 )
Ale jak mogę to zrobić programowo?
Zgodnie z http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit.aspx
„Zmiana właściwości DefaultConnectionLimit nie ma wpływu na istniejące obiekty ServicePoint; ma wpływ tylko na obiekty ServicePoint, które są inicjowane po zmianie. Jeśli wartość tej właściwości nie została ustawiona ani bezpośrednio, ani przez konfigurację, wartość domyślna to stała DefaultPersistentConnectionLimit”.
Chciałbym najlepiej skonfigurować limit, kiedy instaluję WebClient, ale samo usunięcie tego smutnego ograniczenia programowo na początku mojego programu też byłoby w porządku.
Serwer, do którego mam dostęp, nie jest zwykłym serwerem WWW w Internecie, ale pod moją kontrolą i w lokalnej sieci LAN. Chcę wykonywać wywołania API, ale nie używam usług sieciowych ani usług zdalnych