2010-09-28 13 views
18

Mam usługę, która wywołuje usługę na innej maszynie, a liczba jednoczesnych połączeń, jakie mogę uzyskać, wynosi 2. Próbowałem zmienić ograniczanie w działaniu usługi WCF, ale nie efekt. Przeczytałem, że dzieje się tak z powodu limitu HTTP równego 2 równoczesnym połączeniom z komputera klienta na serwer. Jak mam to przezwyciężyć? OS na obu komputerach jest serwer 2003.Wiele równoczesnych wywołań WCF od pojedynczego klienta do usługi

Config:

<serviceBehaviors> 
    <behavior name="MyServiceTypeBehaviors"> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceThrottling maxConcurrentCalls="100" maxConcurrentInstances="100" maxConcurrentSessions="100"/> 
    </behavior> 
    </serviceBehaviors> 

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

Odpowiedz

26

można mieć w celu obejścia tego z kodu klienta (z usługi, która wywołuje inną usługę). Użyj tego kodu w inicjalizacji aplikacji usług w celu poprawy połączeń:

System.Net.ServicePointManager.DefaultConnectionLimit = 10; 
+0

Wielkie dzięki, to było to! – Kevin

6

Spróbuj dodać coś takiego w swoim app.config w aplikacji klienckiej:

<system.net> 
    <connectionManagement> 
     <add address="*" maxconnection="100" /> 
    </connectionManagement> 
</system.net> 
+0

nie zmienia wydajność – Kevin

+1

dzięki .... to działało – Dalton

+0

będą jakieś skutki stosowania po dodaniu tej konfiguracji? –

Powiązane problemy