0

私はすでに wcf Web サービスを構築しており、プライベート IP アドレスを使用してローカルマシンでうまく機能させています。ただし、別のネットワークでアクセスしようとすると、ブラウザーが接続に失敗します。パブリック IP アドレスがあることを理解しており、それに切り替えようとしましたが、自分のコンピューターと他のネットワークのコンピューターの両方が失敗しました。

私が使用しているコードは次のとおりです。

WebServiceHost host = new WebServiceHost(typeof(serviceSetup), new Uri("http://PublicIp:8000"));
ServiceEndpoint ep = host.AddServiceEndpoint(typeof(serviceContract), new WebHttpBinding(), "/");
ep.Behaviors.Add(new WebHttpBehavior());
host.Open();
/*
WebServiceHost myHost = new WebServiceHost(typeof(serviceSetup), new Uri("http://PrivateIP:8000"));
ServiceEndpoint myep = myHost.AddServiceEndpoint(typeof(serviceContract), new WebHttpBinding(), "/");
myep.Behaviors.Add(new WebHttpBehavior());
myHost.Open();
*/

私は何を間違っていますか?ファイアウォールのブロックのような非コードの問題ですか? または、IP アドレスについて何か理解していませんか?

4

1 に答える 1

0

問題は、コンピューターがパブリック IP アドレスでホストされるのをブロックするルーターの背後にいたことでした。解決策は、ルーターのポートをコンピューターにマップして、アプリが着信要求を取得できるようにすることでした。コメントで正しい方向を示してくれた Mark Hall に感謝します。

于 2012-04-29T16:51:38.197 に答える