当前位置:  开发笔记 > 运维 > 正文

异常原因"System.Net.WebException:无法解析远程名称"?

如何解决《异常原因"System.Net.WebException:无法解析远程名称"?》经验,为你挑选了2个好方法。

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

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

从Visual Studio 2008开始,这一切都运行正常,也就是说,我正在运行"我的Web服务",localhost:someport其中成功调用了"第三方Web服务".

然后,我将"我的Web服务"发布到Windows 2003 Server框中.现在,当"我的Web服务"调用"第三方Web服务"时,我得到异常,
"System.Net.WebException:远程名称无法解析:'www.foo.com'."

我尝试过以下方法:

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

    web.config"我的Web服务"文件中,我将"第三方Web服务"URL从网站名称更改为其IP地址.这失败,异常是"System.Net.Sockets.SocketException:尝试对无法访问的网络执行套接字操作".

    然后,我编写了一个简单的Windows窗体测试工具来调用"第三方Web服务".我在服务器上运行了这个测试工具,并成功调用了"第三方Web服务".

    然后我尝试了一个不同的第三方Web服务,它提供了与上面的1,2和3相同的行为.

    最后,我将IP地址添加到服务器上的"hosts"文件中,但得到了相同的"远程名称无法解析"错误,尽管这次要快得多!如果是DNS问题,那么我不希望我的测试1和3工作.

我该如何解决这个问题?



1> Kenny Evitt..:

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

最后这是一个代理服务器问题.异常消息是红鲱鱼.为了解决这个问题,我创建了一个WebProxy使用代理服务器的IP地址和端口的实例:

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



2> 小智..:
 
        
            
        
    

取消您的代理设置

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有