2013-02-20 246 views
1

从URL站点和负载下面的C#代码返回XML resualt到数据集无法连接到远程服务器

string a="http://trackandtrace.champ.aero/CargoTrackE/trackHandler?awbNumber=07121988842&forCarrier=ET-V2"; 
    DataSet ds = new DataSet(); 
    XmlTextReader r = new XmlTextReader(a); 
    ds.ReadXml(r); 

,但它显示错误“无法连接到远程服务器” 但它工作时我直接在浏览器上使用URL。我浏览网络的类似问题,但他们都没有解决我的问题。

你能帮我吗?

谢谢

+1

你的代码适合我。我可以看到在数据集内创建的5个数据表以及一些行也被填充。你确定有其他连接问题吗? – ryadavilli 2013-02-20 12:05:41

+0

我检查过防火墙,它已关闭,您建议我做什么? – user2090962 2013-02-21 04:55:59

回答

0

我有这个问题,最后找到了解决办法。我不得不向web.config添加一个配置,告诉它在哪里可以找到默认代理。这是因为我的应用程序池正在使用的客户端ID没有安全权限,无法在运行它的系统上找到它。所以,它试图直接访问网址,而不是通过代理路由,从而阻止连接。在我的情况下,我们的IIS服务器使用它的代理脚本,但如果您有代理服务器,这也是所需的解决方案。

对于脚本代理:

<configuration> 
    <system.net> 
    <defaultProxy> 
     <proxy scriptLocation="http://pac.MyDomain.com/" /> 
    </defaultProxy> 
    </system.net> 
</configuration> 

对于代理服务器:

<configuration> 
    <system.net> 
    <defaultProxy> 
     <proxy proxyaddress ="http://contoso:8080" /> 
    </defaultProxy> 
    </system.net> 
</configuration> 

没有与代理元素的其他选项,可以帮助您以及包括:bypasslocal和usesystemdefault但我不完全确定他们做了什么。

相关问题