我在本地网络上运行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错误代码。我是否可能需要切换某种证书或网络设置?
答案 0 :(得分:0)
它不起作用,因为“localhost”总是表示当前的机器。当远程系统试图访问它时,它将真正访问自己!
您需要使用与运行该服务的计算机的外部可见IP地址关联的DNS名称。