Semblable à la limitation du serveur Web de développement Visual Studio (Cassini) que seuls serveurs sur localhost, j'ai une implémentation du service WCF qui est seulement nécessaire sur localhost.Configurer WCF pour LOCALHOST-écoute seulement
Je ne voudrais pas d'autres machines ayant accès, sauf que le pare-feu Windows demande au programme d'écouter sur la carte réseau externe. Comme cela n'est nécessaire qu'en interne, je préférerais restreindre la configuration côté serveur WCF afin qu'il ne déclenche pas le détecteur de pare-feu. La bonne solution? binding.HostNameComparisonMode = HostNameComparisonMode.Exact
Je ne vois pas comment cela suffit.
====
Comme Cassini, cette implémentation de service est un remplaçant pour autre chose qui ne nécessite la communication réseau. Le client peut être configuré pour se connecter au serveur réel ou à la fausse implémentation s'exécutant sur localhost.
J'ai essayé la liaison.HostNameComparisonMode = HostNameComparisonMode.Exact à nouveau et cela ne fonctionne pas. Après avoir supprimé les règles de pare-feu Windows correspondantes, le pare-feu vous invite à nouveau à l'autoriser. –
J'ai également ajouté un nouvel Uri ("net.tcp: // localhost") 'comme adresse de base au constructeur ServiceHost –
Eh bien, il semble que le pare-feu vous demandera s'il s'agit d'un hôte loopback ou ne pas. Je ne suis pas sûr s'il y a quelque chose que vous pouvez faire à ce sujet, autre que d'utiliser des tubes nommés. – jrista