2011-05-23 2 views

Répondre

1

Vous pouvez définir ConcurrencyMode à ConcurrencyMode.Single et ConcurrencyMode à ConcurrencyMode.Reentrant.

WCF InstanceContextMode, ConcurrencyMode, and Server-side Threading

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Reentrant)] 
public class Service : IService 
{ 
    // Implementation code 
} 

Vous pouvez également définir MaxConcurrentCalls, MaxConcurrentInstances et MaxConcurrentSessions.

Throttling in WCF.

+0

Merci pour la réponse, il est utile avec d'autres aspects de notre plate-forme, mais il ne répond pas à ma question. Supposons que j'ai une machine avec quatre cœurs. Je veux démarrer quatre clients WCF qui recevront un rappel d'un contrôleur leur disant de calculer quelque chose et je dois m'assurer qu'une seule et unique calculatrice fonctionne sur un seul noyau. – user481779

+0

@ user481779 - Donc, dans votre solution, les clients font le calcul, n'est-ce pas? Donc vous voulez limiter le nombre de cœurs que les clients utilisent, pas le serveur? –

+0

Oui. Tu l'as eu. – user481779

Questions connexes