我已经在C#中编写了一个ClickOnce应用程序,需要在任何防火墙,代理设置或防病毒等后面的任何PC上运行,因为我的用户遍布全国各地。
在95%的用户中,XmlRpc调用确实到达了数据库服务器。以下是我到目前为止所尝试的内容:
WebRequest.DefaultWebProxy.GetProxy(url).ToString();
获取正确的代理网址。CredentialCache.DefaultNetworkCredentials;
AllowAutoRedirect = true;
KeepAlive = true;
Expect100Continue = false;
在启动Fiddler 2后的某些问题上,与MySql数据库的通信开始工作。我宁愿不在所有问题的电脑上安装Fiddler 2.
我的问题是我还能做什么或检查以确保所有XmlRpc调用都到达MySql服务器。以上查找代理网址的方法100%可靠吗?或者我可以用另一种100%可靠的通信方法替换XmlRpc吗?
我正在使用XmlRpc .Net 2.5.0进行通信,使用.Net 3.5进行我的应用程序。 据我所知,XmlRpc调用是端口80上的普通http调用。
任何建议都是如此。
答案 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