以下C#代码从url站点返回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时它会起作用。我在网上浏览类似的问题,但没有一个能解决我的问题。
你能帮我吗?谢谢
答案 0 :(得分:0)
我有这个问题,终于找到了解决方案。我不得不在web.config中添加一个配置,告诉它在哪里找到默认代理。这是因为我的应用程序池正在使用的客户端ID没有安全权限,无法在运行它的系统上找到它。因此,它试图直接转到url而不是通过代理路由,从而阻止它连接。在我的情况下,我们的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,但我不完全确定他们做了什么。