我面临一个间歇性的问题,它会抛出异常。
在http://myserver.com/something处没有可以接受该消息的端点。 System.Net.WebException:无法解析远程名称
经过多次检查后发现客户端配置的DNS服务器有正确的ipv6地址,但ipv4地址错误。当ipv4地址更改为正确的ipv4地址时,问题就解决了。
我的问题可能是间歇性失败的原因。 为什么它总是没有失败,或者它是否使用了正确的ipv6地址为什么它总是不通过?
答案 0 :(得分:1)
行为良好的客户端会在放弃之前尝试每个单独的DNS recursor,并为您提供The remote name could not be resolved
错误。
因此,在您为客户端配置了不正确的IPv4地址和正确的recursor IPv6地址的情况下,它永远不会通过IPv4获得回复,但只要它通过IPv6获得回复就不应该给你那个错误。
但是,如果客户端和recursor之间的IPv6连接不稳定,则可能导致间歇性故障。
更正了recursor的IPv4地址后,只有在不起作用的情况下才会收到错误消息。这意味着错误变得不太可能发生(并且可能比仅使用IPv4地址的可能性更小)。
因此,即使IPv6连接确实仍然不稳定,您可能也没有注意到,因为在IPv6无法正常工作的情况下,客户端确实通过IPv4获得了响应。