【问题标题】:WCF service in local network本地网络中的 WCF 服务
【发布时间】:2013-03-14 22:36:18
【问题描述】:

我已经在我的开发机器上创建并启动了 WCF 服务。

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

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

例如,在 Android 测试应用中,错误消息显示:

“与 http://... 的连接被拒绝”

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

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

请注意,服务正在 ASP.Net 开发服务器中运行。

【问题讨论】:

  • 实例托管在 ASP.Net 开发服务器中。
  • 这不是我的问题...您在该服务器上或通过 Internet 信息系统 (IIS) 是否有 Windows 服务。我问的原因是因为需要实施 IIS 设置,因此当外部流量使用该地址时,它实际上是定向到您的应用程序的。
  • 不,我没有这些
  • 请求时服务是否真的在开发服务器上运行?开发服务器实际上只是在调试期间使用。
  • 发布您的app.config 和(如果有的话)您用于创建ServiceHost 的代码。

标签: c# wcf


【解决方案1】:

ASP.NET 开发服务器不能接受远程连接,所以这在本地机器之外不起作用

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      当它在您的本地计算机上运行时,它实际上启用了IIS Express,因此您可以查看服务并对其进行测试。因此,此时 IIS 正在处理这些请求。这使它可以毫无问题地工作。

      另一个难题是:

      • 开发服务器可能未配置为接收外部请求。
      • IIS 服务器可能未配置为接收这些请求。
      • 或者它创建了一个随机端口使用;无法访问。

      这很可能是正在发生的事情。由于 IIS 会自动处理它;其中之一更可能不正确。

      但在我们看到您的 app.configServiceHost 代码详细信息之前,我们无法确定。

      【讨论】:

        猜你喜欢
        • 2012-03-11
        • 1970-01-01
        • 2015-02-11
        • 2023-03-11
        • 1970-01-01
        • 2010-11-24
        • 2010-10-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多