WCF 和 127.0.0.1 与 localhost

Posted

技术标签:

【中文标题】WCF 和 127.0.0.1 与 localhost【英文标题】:WCF and 127.0.0.1 vs localhost 【发布时间】:2011-06-07 02:44:39 【问题描述】:

使用 127.0.0.1 和 localhost 有什么不同吗?

我问这个是因为我在定义 wcf 连接时注意到了一个不同之处。

<client>
  <endpoint binding="netTcpBinding" bindingConfiguration="netTcpNosecurity" contract="MyClass" name="MyName" behaviorConfiguration="megaGraphBehavior" address="net.tcp://localhost:8011/myname" />
</client>

在某些环境中,我注意到服务器在使用 localhost 时突然开始抛出此错误,我只能通过使用 127.0.0.1 使其工作。

无法连接到 net.tcp://localhost:8011/myname。连接尝试持续了 00:00:02.2341176 的时间跨度。 TCP错误代码10061:无法建立连接,因为目标机器主动拒绝它127.0.0.1:8011。 ---> System.Net.Sockets.SocketException: No connection could be made because the target machine主动拒绝它127.0.0.1:8011

如何解释,我应该始终使用 127.0.0.1 吗?

【问题讨论】:

【参考方案1】:

我今天刚遇到这个问题,随便解决了(不明白为什么会出现这些)。

看这个截图:

看看我在哪里检查了Auto-assign PortSpecific port 59816没有检查? 查看消息框在哪里显示localhost:59816127.0.0.1:59816

我通过检查特定端口 59816 解决了我的问题。

这也可能解决您的问题。

【讨论】:

【参考方案2】:

Localhost 默认引用启用 IPv6 的机器上的 IPv6 地址。也许服务器端端点只能通过 IPv4 访问?

【讨论】:

以上是关于WCF 和 127.0.0.1 与 localhost的主要内容,如果未能解决你的问题,请参考以下文章

TCP错误代码10061:无法建立连接,因为目标机器主动拒绝它 127.0.0.1:8732

无法在 127.0.0.1:3306 连接到 mysql,用户 'root'@'localhost' 的用户 root 访问被拒绝(使用密码:YES)

无法建立连接,因为目标机器主动拒绝它 127.0.0.1:3446

mac nginx+ci ,lumen等网页开发环境配置

WCF自寄宿实现Https绑定

无法建立连接,因为目标计算机主动拒绝它127.0.0.1:3446