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 回答