本地网络中的WCF服务

问题描述:

我在我的开发机器上创建并启动了WCF服务。本地网络中的WCF服务

当我使用http://localhost:8080/ServiceName/Function作为URL时,工作正常。

当我使用http://MY.LAN.IP.ADDRESS:8080/ServiceName/Function作为URL时,它不在任何地方工作 ,不在开发机器上而不在局域网中的其他机器上。

例如,在Android的测试程序,错误消息说:

“连接到http:// ...被拒绝”

我已禁用Windows防火墙和杀毒软件。

是什么导致这样的问题? 我是否需要在服务配置(web.config)中配置一些东西?

请注意,服务在ASP.Net Development Server中运行。

+0

实例在ASP.Net Development Server中托管。 – Dusan 2013-03-14 22:43:01

+0

这不是我的问题......您是否在该服务器上或通过Internet信息系统(IIS)具有Windows服务。我问的原因是因为有IIS设置需要实现,所以当地址被外部流量使用时,它实际上是指向你的应用程序。 – Greg 2013-03-14 22:44:27

+0

不,我没有这些 – Dusan 2013-03-14 22:46:22

ASP.NET开发服务器不能接受远程连接,因此这将不会从本机的外工作

http://msdn.microsoft.com/en-us/library/58wxa9w5%28VS.80%29.aspx

根据this网站,您应该检查开发服务器选择的随机端口(在您的情况下是8080)是否在防火墙上打开。如果这不起作用,那么我不确定如果没有为这些远程请求安装和配置IIS的版本,它就可以工作。

我不知道你怎么把它配置;因为这实际上会导致并发症。但是你的问题存在于你的Host。如何创建Host以接收您的Proxies。可能发生的一件事:

当它在本地机器上运行时,它实际上启用了IIS Express,因此您可以查看服务并对其进行测试。所以在那个时候IIS正在处理这些请求。这可以让它在没有问题的情况下工作。

其他困境是这些:

  • 开发服务器可以不被配置成接收外部请求。
  • IIS服务器可能未配置为接收这些请求。
  • 或者它已经创建了一个随机的端口使用情况;这是不可访问的。

这是更可能发生了什么事情。由于IIS自动处理它,其中一个更可能不正确。

但是,直到我们看到您的app.configServiceHost代码的详细信息,我们不能确定。