Question

Dans un service WCF J'ai un ensemble de liaison point final comme wsHttpBinding. Cependant quand j'utilise Visual Studio pour ajouter le service de référence mes clients App.Config montre la liaison comme basicHttpBinding. Quelqu'un sait-il pourquoi cela peut se produire?

My Endpoint dans le web.config de service (hébergé dans IIS 7.5). Obtient l'adresse de baseAddresses

<endpoint address=""
    binding="wsHttpBinding"
    bindingConfiguration="wsHttpServiceBinding"
    contract="MyProject.IMyService" />

Client app.config:

<client>
    <endpoint address="http://example.com/MyService.svc"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_MyService"
    contract="Service.MyService" name="BasicHttpBinding_MyService" />
</client>
Était-ce utile?

La solution

- Ladislav Mrnka m'a orienté dans la bonne direction à cet égard. Merci beaucoup.

J'ai essayé de garder la simple question que je pensais que la réponse peut être simple. Mais je l'ai expliqué dans mon jeu un peu plus en détail car c'est là la réponse à mon problème était.

Au lieu d'avoir mon contrat de service (IMyService) résidant dans mon service WCF application je l'ai eu dans un autre projet de domaine où je garde toutes mes interfaces afin qu'ils puissent être réutilisés dans de nombreux projets différents. Dans mon service WCF application .web.config j'avais le nom du service en montrant le projet d'interface plutôt qu'à la mise en œuvre. Cela a provoqué VS2010 (svcutil.exe) pour créer un proxy et configuration en fonction des paramètres par défaut (je suppose que résident dans le machine.config (pour WCF 4)).

Donc, pour résumer pour quelqu'un d'autre qui peut venir à travers cette question, il était le nom du service en montrant au mauvais endroit. Assurez-vous que les points de nom de service à la mise en œuvre (généralement dans le service WCF Application - MyProject.MyService) et que les points de contrat de point final au contrat de service (dans l'application de service WCF ou projet externe - MyProject.IMyService ou AnotherProject.Interfaces.IMyService ).

Merci pour votre aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top