2010-09-04 5 views
1

Il ya un WCF que j'ai créé sur le serveur, en cours d'exécution.VIP WCF, seul mon application peut voir mais aucune autre peut voir aucune référence du tout

Et j'ai construit une application qui connecte cette URL. C'est un exe qui peut être exécuté dans tous les PC. La chose que je veux, seulement cette application peut voir ce WCF, et peut utiliser ses utilitaires, les autres ne peuvent rien voir, pas d'URL, pas de référence, pas de wsdl du service Web.

Comment puis-je créer cet environnement ..?

Répondre

1

Comme vous utilisez les services Web WCF, vous pouvez supprimer les <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> éléments de votre <system.serviceModel><services><service> éléments pour éviter les demandes de métadonnées d'être honorées.

Le problème avec ce que vous êtes AFTER est:

  • Tout le monde peut utiliser quelque chose comme Fiddler pour intercepter vos demandes de service Web et de les inspecter. Vous pouvez utiliser HTTPS pour rendre cela plus difficile
  • Tout le monde peut démonter votre code pour voir ce qu'il fait, récupérer des URL et voir quelles sont les méthodes que votre service Web expose.
0

Vous recherchez l'authentification. Seul le client avec des informations d'identification valides pourra utiliser votre service. Cela nécessite certains changements dans la configuration du service et le code client.

référence et WSDL sont éliminés par modifing configuration du service:

  • Supprimer critère de métadonnées que Rob a décrit dans sa réponse.
  • Supprimer le comportement serviceMetadata

page de service par défaut est éliminé par modifing un autre comportement de service

  • sur le comportement serviceDebug mis httpHelpPageEnabled à false.
Questions connexes