2014-04-10 138 views
0

我有一個在IIS上運行的本地Web應用程序,它與部署在AWS上的服務聯繫。IIS ServicePoint ConnectionLimit始終設置爲Int32.MaxValue

雖然我測試的吞吐量對AWS的服務,我意識到,我的本地網絡應用程序不尊重ConnectionLimit值通過下面的代碼在web.config中設置:

<system.net> 
    <connectionManagement> 
    <add address="*" maxconnection="48" /> 
    </connectionManagement> 
</system.net> 

相反,下面的代碼總是返回int.MaxValue

@(ServicePointManager.FindServicePoint(new Uri("https://myawsservice/")).ConnectionLimit) 

這似乎矛盾的時候,我已經在這裏閱讀:http://msdn.microsoft.com/en-us/library/ms998583.aspx#scalenetchapt17_topic14

增加maxconnection可以使更多調用併發執行到遠程Web服務。該屬性不影響本地Web服務調用。併發呼叫數量的增加會導致用於進行遠程呼叫的線程利用率的增加。

我希望Int32.MaxValue只適用於本地Web服務。我不認爲我的AWS服務是本地的。

我錯過了什麼嗎?我誤解了本地網絡服務的定義嗎?

在此先感謝您的幫助。 Nico。

回答

0

發現此問題。

如果中processModel自動配置屬性設置爲「true」你的machine.config內使用ConnectionLimit在web.config

<system.web> 
    <processModel autoConfig="true" /> 
    ... 
    </system.web> 

將其設置爲「假」,如果你想,那麼你不能覆蓋控制ConnectionLimit,但在這種情況下,您可能需要查看autoConfig打開時設置的其他值。