2010-09-28 3 views
18

J'ai un service qui appelle un service sur une autre machine et le plus grand nombre de connexions simultanées que je peux obtenir est 2. J'ai essayé de changer la limitation sur le comportement de service WCF mais pas effet. J'ai lu que c'est à cause de la limite HTTP de 2 connexions simultanées d'une machine client à un serveur. Comment puis-je surmonter cela? Le système d'exploitation sur les deux machines est le serveur 2003.Plusieurs appels WCF simultanés d'un client unique au service

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> 

Répondre

26

Vous avez pour surmonter cela du code de client (du service qui appelle l'autre service). Utilisez ce code dans l'initialisation de votre application de service pour augmenter les connexions:

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

Merci beaucoup, c'était tout! – Kevin

6

Essayez d'ajouter quelque chose comme ceci dans votre app.config sur votre application client:

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

N'a pas changé la performance – Kevin

+1

Merci .... ça a marché – Dalton

+0

Y aura-t-il un impact sur l'application après avoir ajouté cette configuration? –

Questions connexes