【问题标题】:EndPoint Communication Exception with correct DNS IPv6 address but incorrect IPv4 address具有正确 DNS IPv6 地址但 IPv4 地址不正确的端点通信异常
【发布时间】:2015-04-23 19:24:01
【问题描述】:

我遇到了一个间歇性的问题,它会抛出异常。

http://myserver.com/something 上没有可以接受消息的端点监听。 System.Net.WebException:无法解析远程名称

经过多次检查才知道客户端配置的DNS服务器的ipv6地址是正确的,而ipv4地址是错误的。当 ipv4 地址更改为正确的 ipv4 地址时,问题就解决了。

我的问题是间歇性故障的原因是什么。 为什么它不总是失败,或者如果它使用正确的 ipv6 地址为什么它不总是通过?

【问题讨论】:

    标签: .net wcf dns ipv6 ipv4


    【解决方案1】:

    行为良好的客户端会在放弃之前尝试每个单独的 DNS 递归器,并为您提供 The remote name could not be resolved 错误。

    因此,在您为递归器配置了错误的 IPv4 地址和正确的 IPv6 地址的情况下,它永远不会通过 IPv4 获得回复,但只要它确实通过 IPv6 获得回复,它就不应该给你那个错误。

    但是,如果客户端和递归器之间的 IPv6 连接不稳定,可能会导致间歇性故障。

    一旦您更正了递归器的 IPv4 地址,您只会在两者都不起作用的情况下收到错误消息。这意味着该错误发生的可能性降低(甚至可能比仅使用 IPv4 地址时发生的可能性更小)。

    因此,即使 IPv6 连接确实仍然不稳定,您也可能没有注意到,因为在 IPv6 不起作用的情况下,客户端确实通过 IPv4 获得了响应。

    【讨论】:

    • 不正确的 ipv4 地址是 dns 服务器而不是 web 服务器。但我想这也适用于连接到 dns 服务器吧?
    • @Dhatri 我已经用不同的答案替换了我的答案。
    猜你喜欢
    • 1970-01-01
    • 2019-05-18
    • 2013-09-18
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    相关资源
    最近更新 更多