【问题标题】:WCF hosting in Windows Services (Network Service)Windows 服务(网络服务)中的 WCF 托管
【发布时间】:2012-02-09 23:27:56
【问题描述】:
  1. WCF 服务
  2. Windows 服务中的 WCF 服务托管
  3. WinService 作为网络服务登录

主机应用配置:

<service name="StudyingControllerService.ControllerService">
        <host>
          <baseAddresses>
            <add baseAddress="http://IP:PORT/ControllerService.svc"/>
          </baseAddresses>
        </host>
        <endpoint address=""
                  binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IControllerService"
                  contract="StudyingControllerService.IControllerService" />
      </service>

在本地网络中一切正常。 (本地主机) 但我想通过网络从另一台计算机访问我的服务。

我使用了另一台计算机(来自另一个地方),ping IP(winservice 的)。平没问题。 我安装了我的客户端并尝试连接到我的远程服务,但连接失败。 telnet 也无法建立连接。

怎么了?

防火墙已断开连接。 (两边)

在客户端 telnet 无法打开到 IP PORT 的连接

【问题讨论】:

  • 您是否检查了防火墙设置以查看该端口是否允许连接?
  • 我确实执行了 netstat。我的端口在那里,状态为 LISTENING
  • 您应该在客户端和服务器上都启用 WCF 跟踪。查看跟踪日志,它很可能会引导您找到答案。至少它会给你一些更多的信息在这里发布以帮助人们帮助你:o)
  • 实际的异常是什么。
  • Richard, 出现“连接尝试失败,因为连接方在一段时间后没有正确响应,或建立连接失败,因为连接的主机没有响应 IP”

标签: c# wcf service


【解决方案1】:

windows服务或WCF没有问题。问题出在我的互联网提供商上。

它阻塞了使用我服务的端口。所以,我要求管理员打开端口。现在一切正常。

感谢大家的回答。

【讨论】:

    【解决方案2】:

    我遇到了类似的问题。它只是在 windows 防火墙上打开端口。

    为了测试是否可行,我关闭了防火墙服务。

    希望有帮助!

    【讨论】:

    • 防火墙已断开连接。 (两边)
    • 那么它可能与您的服务没有任何关系。只是客户端和服务器之间的连接不起作用。我假设您可以尝试制作一个单页 asp.net 站点并将其放在 IIS 上并尝试从客户端访问它。如果你不能,你就会知道为什么即使 basicHttpBidning 也不能与你的服务一起使用。
    • 另外,您可以尝试在本地服务或网络服务以外的不同凭据上运行服务 - 自定义域帐户(我假设您的服务器和客户端是域网络的一部分)
    【解决方案3】:

    我会尝试在您的配置文件中更改您的基地址,如下所示:

    <service name="StudyingControllerService.ControllerService">
      <host>
        <baseAddresses>
          <add baseAddress="http://IP:PORT"/>
        </baseAddresses>
      </host>
      <endpoint address="ControllerService.svc"
                binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IControllerService"
                contract="StudyingControllerService.IControllerService" />
    </service>
    

    我推荐这个的原因是基地址用于允许相对于基地址添加端点 - 将端点放在基地址中可能会导致问题。

    至少要尝试一些东西 - 几分钟的编辑,你就会得到一个或另一个答案。

    【讨论】:

    • 不,它也不起作用。在客户端抛出相同的异常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2012-04-28
    • 1970-01-01
    • 2012-01-13
    相关资源
    最近更新 更多