无法连接到远程服务器

时间:2013-02-20 11:51:24

标签: c#

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

你能帮我吗?

谢谢

1 个答案:

答案 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,但我不完全确定他们做了什么。