使用NetTcpBinding创建WCF服务时,请使用端点“localhost”或计算机的主机名?

时间:2009-11-04 21:18:58

标签: wcf windows-services localhost nettcpbinding endpoint

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

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

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

有哪些优点/缺点?

2 个答案:

答案 0 :(得分:1)

你可以使用  System.Environment.MachineName

例如:

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

答案 1 :(得分:0)

如果我希望客户端能够在任何外部接口以及localhost上连接,我通常会将URI设置为:

的net.tcp://0.0.0.0

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