Exception d'opération non valide
J'ai créé un WCF Prolongée qui a bien fonctionné lorsqu'il est hébergé sur IIS.
maintenant, j'ai pris le même service, et a créé une multitude d'application en WPF, et lorsque vous essayez de démarrer le service à partir de cette application, j'obtiens cette exception :
The HttpGetEnabled property of ServiceMetadataBehavior is set to true and the
HttpGetUrl property is a relative address, but there is no http base address.
Either supply an http base address or set HttpGetUrl to an absolute address.
source d'informationauteur Attilah
Vous devez vous connecter pour publier un commentaire.
L'erreur est assez clair que vous êtes en utilisant HTTP, vous avez activé HttpGetEnabled sur votre ServiceMetadata comportement, mais vous n'avez pas fourni une adresse de base dans votre config.
Dans IIS, les adresses de base ne sont ni nécessaires, ni utilisé, depuis l'emplacement de l' *.svc défini dans le fichier de votre adresse de service. Lorsque vous êtes à l'auto-hébergement, vous pouvez et devez utiliser les adresses de base.
Changement de la config à ressembler à quelque chose comme ceci:
Maintenant, le "HttpGetEnabled" a une adresse de base
http://localhost.8080/YourService
à aller pour obtenir les métadonnées.Ou si vous n'aimez pas cela, encore une fois, le message d'erreur est assez clair sur votre alternative: définir une URL absolue pour le HttpGetUrl dans votre ServiceMetadata:
Les clients peuvent obtenir des méta-données à partir de votre "mex" points de terminaison, soit à une correction de l'URL définie comme dans le second exemple, ou ils vont aller à l'adresse de base du service pour les métadonnées (si il y en a un).
Si vous venez à partir de IIS et n'ont pas adaptée quoi que ce soit, vous n'aurez ni une adresse de base, ni explicite, URL absolue pour votre échange de Métadonnées d'extrémité, de sorte que c'est pourquoi vous obtenez le message d'erreur que vous vous voyez.
Marc
J'ai fait face à cette erreur quand j'ai essayé d'utiliser le net.tuyau de liaison.Dans mon cas, le service par défaut le comportement publiée le service de métadonnées, Ce qui est la cause de mon erreur. Ma solution est d'utiliser un comportement différent pour vos services. puis j'ai modifié mon fichier de config selon @marc_s répondre et faire différents comportements du service comme suit:
Vérifier que la classe de service est correct.
Il est résolu mon problème