我在多線程環境中調用Web服務。由於操作超時或請求不好,我的很多通話都會失敗,但是如果以線性方式進行通話,則沒有任何通話會失敗,這意味着調用具有多個線程的webservice時會出現問題。經過大量的分析,我發現併發連接的限制導致了這些異常,所以我通過添加下面的代碼來修復它。缺點增加ServicePointManager.DefaultConnectionLimit
ServicePointManager.DefaultConnectionLimit = 2 * _ThreadCount;
我不知道是增加這個限制的可能缺點。默認情況下,連接限制爲2.如果有人知道任何缺點,請讓我知道。
MSDN還指出,默認值爲MaxValue的,但是當我調試我看到默認值爲2 – Viru
@Viru: - 是的,它是默認設置爲MaxValue的。你確定以前沒有改變過嗎? –
在我的應用程序或配置無論在哪裏,我設置此值,但如果我正確地undertstand它,它是系統級配置,有可能是在machine.config中的配置,我沒有檢查....反正,我更感興趣在尋找任何可能的弊端 – Viru