【问题标题】:Sporadic name resolution failure happening on web service callWeb 服务调用时发生零星的名称解析失败
【发布时间】:2010-10-15 19:54:39
【问题描述】:

我们的一个 wcf 服务应用程序调用单独的第三方 Web 服务来提交信息。

我们经常收到以下错误,但并非总是如此:
System.Net.WebException:无法解析远程名称:'ws.examplesite.net' 在 System.Net.HttpWebRequest.GetRequestStream() 在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] 参数)

奇怪的是,错误发生后,我们可以在稍后再次点击“提交”,它会正常通过。

我们已经与我们的网络人员进行了反复检查,他们确认 DNS 是正确的,并且他们已经连续进行了多次 nslookup 来确认。

这发生在所有环境(开发、测试和产品)中。我们使用第三方 test 和 prod url,当我们指向两者时就会发生这种情况。

有没有人有任何其他的故障排除技术来解决这个问题或发生这种情况的任何原因?

非常感谢, ~安斯利

【问题讨论】:

    标签: c# web-services soap networking dns


    【解决方案1】:

    名称解析失败的原因可能与 DNS 没有直接关系。例如,我今天遇到了名称解析失败,原因是 DNS 查询是在我丢失了 DHCP 租约之后并且在我获得新租约之前发出的。实际上,在查询时没有连接到 DNS 服务器。

    类似的问题(连接问题)可能是您的问题。

    【讨论】:

      【解决方案2】:

      如果“网络人”使用 nslookup 进行调试,这可能意味着他们不是 DNS 专家。最好的办法是发布实际域名,以便我们可以使用更好的工具(dig、zonecheck 等)进行测试。

      【讨论】:

        【解决方案3】:

        我要做的第一件事是退出WireShark 或其他一些数据包跟踪器,并仔细检查Web 服务请求失败时发送的内容。这将立即告诉您 DNS 请求是否失败或是否正在发送 Web 服务请求,这是报告错误消息的情况。我怀疑是前者。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-07-08
          • 2012-04-18
          • 1970-01-01
          • 2019-07-28
          • 1970-01-01
          • 1970-01-01
          • 2013-09-24
          • 1970-01-01
          相关资源
          最近更新 更多