2013-02-20 242 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但我不完全確定他們做了什麼。