【问题标题】:XmlRpc calls do not reach the MySql ServerXmlRpc 调用未到达 MySql 服务器
【发布时间】:2014-01-23 10:39:46
【问题描述】:

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

在我 95% 的用户中,XmlRpc 调用确实到达了数据库服务器。以下是我迄今为止尝试过的事情:

  1. 使用WebRequest.DefaultWebProxy.GetProxy(url).ToString(); 获取正确的代理网址。
  2. 将上面找到的代理分配给 XmlRpc 代理对象。
  3. 使用CredentialCache.DefaultNetworkCredentials; 设置 XmlRpc 对象的凭据
  4. 为 XmlRpc 对象设置 AllowAutoRedirect = true;
  5. 为代理对象设置KeepAlive = true;
  6. 为代理对象设置Expect100Continue = false;
  7. 我使用默认超时时间 100000 毫秒

在启动 Fiddler 2 后的某些问题电脑上,与 MySql 数据库的通信开始工作。我宁愿不在所有有问题的电脑上安装 Fiddler 2。

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

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

感谢任何建议。

【问题讨论】:

  • 也许我应该升级到 XmlRpc .Net 3.0.0 版?

标签: c# mysql proxy clickonce xml-rpc


【解决方案1】:

如果它在你运行 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

【讨论】:

  • 不,我支持无需代理的直接互联网连接,方式与您提供的链接类似。谢谢。
  • 有没有试过用WebProxy.GetProxy看看是否更可靠?
  • 不记得了,我前段时间尝试了很多东西,但我会将其添加到应用程序中并记录信息并比较代理 url 并从那里获取。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-29
  • 2014-09-15
  • 2011-08-05
  • 2011-01-13
  • 1970-01-01
  • 2013-07-26
  • 2014-05-19
相关资源
最近更新 更多