WCP WebHttpBinding在同一LAN上的计算机上超时

时间:2013-07-11 12:05:12

标签: c# wcf lan webhttpbinding

我目前正在尝试向现有应用程序添加一个简单的基于WCF的Web UI,以便可以通过Web浏览器在同一LAN上的任何设备上远程控制某些方面。 (例如,从30英尺远的手机或平板电脑通过WiFi)至少可以在同一台机器上工作,但如果我尝试从任何其他设备连接,它只会超时。

WebHttpBinding binding = new WebHttpBinding();
binding.TransferMode = TransferMode.Streamed;

WebHttpBehavior behavior = new WebHttpBehavior();

WebServiceHost host = new WebServiceHost( typeof( Service ), new Uri( "http://localhost:8000/[REMOVED PRODUCT NAME]" ) );
host.AddServiceEndpoint( typeof( IService ), binding, "" ).Behaviors.Add( behavior );
host.Open();

这是在Windows 7 64位上从C#自托管。

我已将防火墙例外和程序添加到netsh ACL。

我可以从客户端设备ping主机设备。

如果我通过LAN IP而不是localhost,我仍然可以从主机设备访问它。

我已经向Service类添加了一个无参数构造函数和终结器,它打印到Console,因此我可以判断它是否以及何时由WCF构造。在本地访问时会发生这种情况,但不会从同一LAN上的其他设备访问,这表明问题在于绑定到我身上。

谢谢。

1 个答案:

答案 0 :(得分:0)

解决;问题在于使用中的路由器似乎是彼此之间的防火墙用户。使用其他路由器或以太网电缆。