Question

Je suis juste dans la programmation WCF. J'ai mis en place un service web test d'auto-hébergé sur mon ordinateur de travail, ce qui se cache derrière un pare-feu; il est à http://localhost:8000/MyTestService. Je peux accéder à la page de service via le navigateur; tout va bien travailler.

Maintenant, je veux accéder à ce service à partir de mon ordinateur à la maison, qui se trouve sur un autre réseau. J'ai dns dynamique (appeler mydomain.dyndns.org) mis en place pour pointer vers mon routeur de travail. Ont testé, DynDNS pointe vers la bonne adresse.

Maintenant, je l'ai installé une application de test sur mon ordinateur à la maison pour se connecter à mon service Web. Donc, je configuré mon NAT pour transmettre les demandes sur le port 8000 à mon ordinateur de travail, sur le même numéro de port.

Sur mon ordinateur à la maison, je maintenant ouvrir un navigateur et accédez à http://mydomain.dyndns.org:8000/MyTestService. Rien à faire.

Il est évident que je manque quelque chose de vraiment fondamental sur les NAT et redirection de port ... mais comme je le dis, je suis un peu nouveau à cet aspect de la programmation, et je voudrais vraiment apprécier quelques conseils ici!

Était-ce utile?

La solution

Voyez-vous une erreur ou une page vide? Pouvez-vous vérifier canyouseeme.org de l'ordinateur derrière le pare-feu que le port est vraiment ouvert? Pouvez-vous vérifier avec des outils comme Sysinternals TCPVIEW que la tentative de connexion atteint cet ordinateur et non pas seulement le routeur?

Autres conseils

J'ai eu le même problème.

après une bonne aide de ce Toppic. http://www.codeproject.com/Questions/140317/WCF -services et Windows Firewall-. Mon service WCF a bien fonctionné sur le réseau local même avec le pare-feu actif.

Mais il n'a pas été accessible sur Internet. Après le transfert de port, je pouvais voir la description du service. mais je ne pouvais pas l'utiliser.

Cet article http: / /gavinmckay.wordpress.com/2009/03/24/howto-fix-wcf-host-name-on-iis/ me point dans la bonne direction. Le service est visible, mais les connexions à votre serveur Web échouera car le WSDL pointe vers le nom du serveur non publié et votre client ne sera pas en mesure d'y arriver.

Dans mon cas je un besoin de changer le'autonome WCF le point de terminaison local à celui du public.

        1 Create a URI to serve as the base address.
        Uri baseAddress = new Uri("http://publicdomain.com:8000/GettingStarted/");
        // Step 2 Create a ServiceHost instance
        ServiceHost selfHostRemote = new ServiceHost(typeof(MyService), baseAddress);

Bonne chance

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