XmlRpc调用未到达MySql Server

时间:2014-01-23 10:39:46

标签: c# mysql proxy clickonce xml-rpc

我已经在C#中编写了一个ClickOnce应用程序,需要在任何防火墙,代理设置或防病毒等后面的任何PC上运行,因为我的用户遍布全国各地。

在95%的用户中,XmlRpc调用确实到达了数据库服务器。以下是我到目前为止所尝试的内容:

  1. 使用WebRequest.DefaultWebProxy.GetProxy(url).ToString();获取正确的代理网址。
  2. 将上述找到的代理分配给XmlRpc代理对象。
  3. 使用CredentialCache.DefaultNetworkCredentials;
  4. 设置XmlRpc对象的凭据
  5. 为XmlRpc对象设置AllowAutoRedirect = true;
  6. 为代理对象
  7. 设置KeepAlive = true;
  8. 为代理对象
  9. 设置Expect100Continue = false;
  10. 我使用的默认超时为100000毫秒
  11. 在启动Fiddler 2后的某些问题上,与MySql数据库的通信开始工作。我宁愿不在所有问题的电脑上安装Fiddler 2.

    我的问题是我还能做什么或检查以确保所有XmlRpc调用都到达MySql服务器。以上查找代理网址的方法100%可靠吗?或者我可以用另一种100%可靠的通信方法替换XmlRpc吗?

    我正在使用XmlRpc .Net 2.5.0进行通信,使用.Net 3.5进行我的应用程序。 据我所知,XmlRpc调用是端口80上的普通http调用。

    任何建议都是如此。

1 个答案:

答案 0 :(得分:0)

如果你在运行fiddler时有效,我认为这是因为PC正在使用Fiddlers代理......

取自fiddler2.com/documentation/KnowledgeBase/Proxy “在你启动Fiddler之后,该程序将自己注册为Microsoft Windows Internet Services(WinInet)的系统代理,即Internet Explorer,Microsoft Office和许多其他产品使用的HTTP层。”

您的代码是否假设始终存在代理?看看WebProxy.GetProxy which can be found at this MSDN link