2012-01-09 3 views
0

J'ai un service WCF hébergé par IIS que j'ai besoin d'exposer à deux types de clients, externe (basicHttp legacy) et interne (wsHttp WCF). Pour le client externe, je veux imposer une configuration de limitation plus stricte. Il semble que la configuration d'étranglement tels que:Implémentation de service unique WCF - Comportements multiples

<serviceThrottling 
    maxConcurrentCalls="30" 
    maxConcurrentSessions="1000" 
    maxConcurrentInstances="30" /> 

ne peut être appliqué comme un comportement de service et non pas comme un comportement de point de terminaison. Cela signifie que je vais avoir besoin de créer deux fichiers séparés .SVC, qui résoudrait le même fichier .cs, comme suit:

<service behaviorConfiguration="x.xServiceBehavior"> 
    <endpoint 
      address="~/xService.svc" 
      binding="wsHttpBinding" 
      contract="xService.IxService"/> 
</service> 

<service behaviorConfiguration="xService.ThrottledxServiceBehavior"> 
    <endpoint 
      address="~/ThrottledxService.svc" 
      binding="basicHttpBinding" 
      contract="x.xService.IxService"/> 
</service> 

Est-ce que la meilleure façon d'obtenir ce que je suis après ou est il y a une meilleure façon?

Merci

Rob.

Répondre

0

La façon dont vous l'avez fait semble correcte pour obtenir une configuration de comportement de service différente pour les deux différentes liaisons. Il peut être possible d'obtenir le même effet tout en évitant d'avoir deux fichiers .svc, mais la manière ci-dessus fonctionnera très bien alors pourquoi faire basculer le bateau! :)

Questions connexes