2014-01-23 53 views
0

我已經在C#中編寫了一個ClickOnce應用程序,它需要在任何防火牆,代理設置或防病毒軟件之後的任何PC上運行,因爲我的用戶遍佈全國。XmlRpc調用沒有到達MySql服務器

在我的95%的用戶在通話XMLRPC做到達數據庫服務器。以下是我迄今試過的東西:

  1. 使用WebRequest.DefaultWebProxy.GetProxy(url).ToString();得到正確的代理網址。
  2. 將上面找到的代理分配給XmlRpc代理對象。
  3. 設置使用CredentialCache.DefaultNetworkCredentials;
  4. 套裝AllowAutoRedirect = true;爲XMLRPC對象
  5. 設置KeepAlive = true;的代理對象
  6. 設置Expect100Continue = false;的代理對象
  7. 我使用默認的超時是100000 XML-RPC對象中的憑證毫秒

在啓動Fiddler 2後,出現一些問題pc,與MySql數據庫的通信開始工作。我寧願不在所有有問題的電腦上安裝Fiddler 2。

我的問題是我還能做些什麼或檢查以確保所有XmlRpc調用都到達MySql服務器。上述找到代理網址的方法100%可靠嗎?或者我可以用另一種100%可靠的通信方法替換XmlRpc嗎?

我使用XMLRPC淨2.5.0通信和.Net 3.5我的應用程序。 據我所知,XmlRpc調用是80端口上的普通http調用。

THX的任何建議。

+0

也許我應該升級到XmlRpc .Net版本3.0.0? – Albertus

回答

0

如果運行小提琴手我想這是因爲PC然後使用提琴手代理它的工作原理...

fiddler2.com/documentation/KnowledgeBase/Proxy 摘自「你開始提琴手後,該程序將自己註冊爲微軟Windows系統代理Internet服務(WinInet),Internet Explorer,Microsoft Office和許多其他產品使用的HTTP層。「

請問您的代碼假設總有一個代理?看看WebProxy.GetProxy which can be found at this MSDN link

+0

不,我支持沒有代理的直接互聯網連接,與您提供的鏈接類似。謝謝。 – Albertus

+1

您是否嘗試過使用WebProxy.GetProxy來查看它是否更可靠? –

+0

不記得了,我前段時間嘗試了很多東西,但是我會將它添加到應用程序中並記錄信息並比較代理url並從中取出它。謝謝。 – Albertus