1

以下 C# 代码从 url 站点返回 xml 结果并加载到数据集

   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 时它可以工作。我在网上浏览过类似的问题,但没有一个能解决我的问题。

你能帮我么?

谢谢你

4

1 回答 1

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,但我不完全确定它们的作用。

于 2013-04-02T14:49:50.150 回答