2010-05-02 6 views
3

Supposons que j'ai créé un proxy WCF à partir d'un service WCF (configuré avec wsHttpBinding) à l'aide du service d'ajout (dans Visual Studio 2008).Proxy WCF: Dois-je créer un nouveau proxy différent pour chaque liaison?

Plus tard, je veux utiliser basicHttpBinding donc je vais changer le service WCF pour utiliser basicHttpBinding. Mais qu'en est-il du proxy WCF? Puis-je simplement changer cela via Web.config ou dois-je créer à nouveau le proxy WCF à partir du service WCF via Add Service?

Merci

Répondre

1

Cela dépend :-)

Si vous avez déjà toutes les liaisons en place lorsque vous faites le Add Service Reference la première fois, votre configuration de proxy côté client comprendra toutes les liaisons, et vous pouvez essentiellement passer de l'un à l'autre sans aucune reconfiguration ou quoi que ce soit. Chaque point de terminaison client (qui a une liaison spécifique) doit avoir un nom, afin que vous puissiez choisir:

MyServiceClient client = new MyServiceClient("endpointname"); 

Cependant, si vous ajoutez le second élément de liaison à votre service une fois que vous avez ajouté la référence de service à votre code client, alors oui - vous devez mettre à jour votre référence de service. Pour ce faire, ouvrez le nœud Service References dans votre explorateur de solutions dans le projet côté client, cliquez avec le bouton droit sur la référence de service qui vous intéresse et choisissez Update Service Reference dans le menu contextuel.

Update Service Reference http://i39.tinypic.com/2zr3uko.png

Cela déroulez toute nouvelle information sur les liaisons supplémentaires et des trucs du côté serveur et mettre à jour votre configuration côté client en conséquence. Une fois cela fait, vous devriez avoir plusieurs points d'extrémité côté client dans votre configuration et vous pouvez créer l'un de ceux qui est approprié pour vos besoins actuels en fonction du nom du point de terminaison client.

+0

Merci pour la réponse. Une clarification. Donc, si je spécifie par défaut deux liaisons (basicHttpBinding et wsHttpBinding) pour un service WCF dans le fichier Web.config (sous l'élément bindings), dois-je également spécifier deux points de terminaison ou puis-je utiliser un seul point de terminaison liaison de propriété à basicHttpBinding ou wsHttpBinding dans le proxy WCF sans générer un nouveau proxy)? – WCFDeveloper

+0

si vous le faites dans la configuration, vous devez avoir deux points de terminaison - un pour basicHttpBinding, l'autre pour le wsHttpBinding. –

+0

Ok, j'ai compris! Merci encore et bonne journée! :) – WCFDeveloper