端点通信异常,具有正确的DNS IPv6地址但IPv4地址不正确

时间:2015-02-22 11:40:19

标签: .net wcf dns ipv6 ipv4

我面临一个间歇性的问题,它会抛出异常。

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

经过多次检查后发现客户端配置的DNS服务器有正确的ipv6地址,但ipv4地址错误。当ipv4地址更改为正确的ipv4地址时,问题就解决了。

我的问题可能是间歇性失败的原因。 为什么它总是没有失败,或者它是否使用了正确的ipv6地址为什么它总是不通过?

1 个答案:

答案 0 :(得分:1)

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

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

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

更正了recursor的IPv4地址后,只有在不起作用的情况下才会收到错误消息。这意味着错误变得不太可能发生(并且可能比仅使用IPv4地址的可能性更小)。

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