'My Web Service'-6ren">
gpt4 book ai didi

.net - 异常 "System.Net.WebException: The remote name could not be resolved"的原因?

转载 作者:行者123 更新时间:2023-12-02 11:54:07 27 4
gpt4 key购买 nike

我有一个 .NET 客户端应用程序调用我的 .NET Web 服务,而该服务又调用第三方 Web 服务,例如“www.foo.com”。

.NET Client -> 'My Web Service' -> 'Third Party Web Service'

在 Visual Studio 2008 中,这一切都工作正常,也就是说,我在 localhost:someport 中运行“我的 Web 服务”,它成功调用了“第三方 Web 服务”。

然后我将“我的 Web 服务”发布到 Windows 2003 Server 机器上。现在,当“我的 Web 服务”调用“第三方 Web 服务”时,我收到异常,
“System.Net.WebException:无法解析远程名称:'www.foo.com'。”

我尝试过以下方法:

  1. 在部署“我的 Web 服务”的服务器上,我打开了 Internet Explorer 并输入了 Web 服务地址“http://www.foo.com/somewebservice.asmx” '。这是成功的,因为显示了可用的 Web 服务方法的列表。

  2. 在“我的 Web 服务”的 web.config 文件中,我更改了“第三方 Web 服务”URL从网站名称到 IP 地址。此操作失败,并出现异常“System.Net.Sockets.SocketException:套接字操作被尝试访问无法访问的网络”。

  3. 然后,我编写了一个简单的 Windows 窗体测试工具来调用“第三方 Web 服务”。我在服务器上运行了这个测试工具,它被称为“第三方 Web 服务”成功。

  4. 然后,我尝试了不同的第三方网络服务,其行为与上述 1、2 和 3 相同。

  5. 最后,我将 IP 地址添加到服务器上的“hosts”文件中,但得到了相同的“无法解析远程名称”错误,尽管这次速度快得多!如果是 DNS 问题,那么我的测试 1 和 3 就不会起作用。

如何解决这个问题?

最佳答案

从马克的评论到他自己的问题:

最终是代理服务器问题。异常消息是一个转移注意力的消息。为了解决这个问题,我使用代理服务器的 IP 地址和端口创建了一个 WebProxy 实例:

WebProxy proxy = new WebProxy( proxyServerIPAddress, Convert.ToInt32( proxyServerPort ) );       
myService.Proxy = proxy;

关于.net - 异常 "System.Net.WebException: The remote name could not be resolved"的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1410425/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com