为什么不能在远程网络机器上访问WCF Restful服务?

时间:2011-08-31 01:43:31

标签: c# wcf networking

我在本地网络上运行RESTful Web服务时遇到问题。直到最近他们工作得很好,我不知道发生了什么变化,我希望有人可以给我一个要检查的东西列表,以确保我的所有设置都很好。我创建了一个非常简单的测试应用程序,以查看它是否在我的代码或我的网络设置本身。我在Visual Studio 2010中创建了一个C#WinForms解决方案,并将其添加到Form的OnLoad处理程序中:

ServiceHost host = new ServiceHost(typeof(BasicService));
string baseUri = "http://" Environment.MachineName + ":876/testing";
ServiceEndpoint point = host.AddServiceEndpoint(typeof(IBasicService), new      WebHttpBinding(), baseUri);
point.Behaviors.Add(new WebHttpBehavior());
host.Open();

该服务只返回一个字符串。我可以在本地计算机上打开浏览器,看到返回的字符串就好了。我曾经能够在我的本地网络上的其他计算机/设备上看到这个,但是现在我从远程计算机上尝试时会收到502错误代码。我是否可能需要切换某种证书或网络设置?

1 个答案:

答案 0 :(得分:0)

它不起作用,因为“localhost”总是表示当前的机器。当远程系统试图访问它时,它将真正访问自己!

您需要使用与运行该服务的计算机的外部可见IP地址关联的DNS名称。