【问题标题】:When creating a WCF Service with NetTcpBinding, use endpoint "localhost" or machine's host name?使用 NetTcpBinding 创建 WCF 服务时,使用端点“localhost”还是机器的主机名?
【发布时间】:2010-12-13 04:46:23
【问题描述】:

我有一个使用 NetTcpBinding 并在 Windows 服务中运行的 WCF 服务。远程客户端连接到此服务。到目前为止,我已经定义了使用“localhost”的端点。

如果主机有多个网络适配器,它会在所有适配器上接收消息吗?

将机器的主机名分配给端点而不是“localhost”会更好吗?

有什么优点/缺点?

【问题讨论】:

  • 我需要同样问题的答案。也许@marc_s 可以帮忙?

标签: wcf windows-services localhost nettcpbinding endpoint


【解决方案1】:

你可以使用 System.Environment.MachineName

例如:

new EndpointAddress(new UriBuilder {Scheme = Uri.UriSchemeNetTcp, Port = port, Host = System.Environment.MachineName}.Uri);

【讨论】:

    【解决方案2】:

    如果我希望客户端能够在任何外部接口以及本地主机上进行连接,我通常将 URI 设置为:

    net.tcp://0.0.0.0

    这也减轻了部署到多台机器的负担,因为您不需要去更改每台机器上的主机名,但在您的环境中允许这样做可能会带来安全隐患。

    【讨论】:

      猜你喜欢
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 2019-09-29
      • 2013-03-03
      • 2011-10-19
      相关资源
      最近更新 更多