2011-09-16 12 views

Répondre

2

L'avantage de fournir différents points d'extrémité est que chaque point d'extrémité peut utiliser une liaison différente. De cette façon, basé sur les capacités du client, il pourrait choisir la liaison appropriée. Par exemple, vous pouvez exposer un point de terminaison interopérable pour les clients Java, PHP, ... et un point de terminaison binaire propriétaire qui pourrait être plus rapide mais uniquement pour les clients .NET. Chaque point d'extrémité a une adresse, une liaison et un contrat. Ainsi, le client peut choisir quel point de terminaison de service il veut consommer. Pour host a WCF service in IIS, vous avez 2 possibilités: soit dans une application ASP.NET où seules les liaisons HTTP sont disponibles (basicHttpBinding, wsHttpBinding, webHttpBinding, ...) ou dans WAS (IIS 7.0 uniquement) où vous pouvez utiliser des liaisons binaires. Du point de vue du client, vous ajoutez une référence de service au projet client pointant vers une URL de service donnée et consommez le service. Et voici another article vous qui en parle.

1

De l'expérience:

  • en utilisant différents liants, par exemple un BasicHttpBinding pour les clients Java en utilisant WsHttpBinding pour les clients .NET. Aussi HTTPS pour certains et pour d'autres ... HTTP

  • Dividing et exposant différents contrats/interfaces. Par exemple vous avez une interface qui expose beaucoup d'opérations et vous avez une interface réduite qui fait des choses basiques et vous publiez la seconde à l'extérieur afin que les clients internes utilisent le point de terminaison pour l'interface étendue mais les clients externes utilisent l'autre.

Par exemple

interface IFoo 
{ 
    void DoBasic(); 
} 

interface IFooInternal : IFoo 
{ 
    void DoMore(); 
} 

Maintenant vous avez Une classe mise en œuvre à la fois:

public class Foo : IFooInternal 
{ 
    .... 
} 

Et maintenant vous exposer seul à l'extérieur pendant la mise en œuvre est dans la même classe.

Questions connexes