【问题标题】:Fluorine Client only working when Charles Web proxy is openFluorine 客户端仅在 Charles Web 代理打开时工作
【发布时间】:2010-12-11 12:56:57
【问题描述】:

我创建了一个控制台应用程序,它应该每小时运行一次,以便使用 FluorineFx for C# 客户端 (NetConnection) 将更新推送到不同的服务器。它工作得很好,但只有当我打开 Charles 并且我可以看到正在发送的内容时。另一方面,如果 Charles 已关闭,则不会发送数据。

谢谢。

【问题讨论】:

  • 您需要分享更多关于 Charles 不运行时会发生什么的信息。究竟是如何建立联系的?它连接吗?它发送数据吗?服务器是否显示连接?服务器是否接收数据?服务器是否发送响应?客户端是否收到任何响应?如果您无法回答所有这些问题,请添加更多日志记录。您还可以使用更被动的监控应用程序(例如 WireShark)进行测试(我每天都使用 Charles 并且喜欢它,所以不要对 Charles 说任何坏话……只是在这种特殊情况下,显然它会影响您的测试)。
  • 我现在注意到这是间歇性发生的。有时使用 AMF 发送数据,有时不起作用。我现在正在安装 WireShark。谢谢,我会让你知道我的所有发现。
  • 你找到什么了吗?我在使用 flex-weborb 的本地机器上遇到了同样的问题。我的一些同事有同样的问题,而其他人则没有……很奇怪。甚至联系过weborb,但他们也无法帮助我......也许这是一个安全问题......跨域?也许使用 ip 地址而不是服务器的名称?

标签: c# windows-server-2003 netconnection fluorinefx


【解决方案1】:

我参加聚会有点晚了,但我最近遇到了同样的问题并找到了解决方案。问题是 Fluorine 没有在 HttpWebResponse 对象上调用 Close() 方法,因此 .NET 使对象无限期地保持活动状态,这导致后续请求最终阻塞在默认的每主机连接数限制上。

我在 RemotingClient.cs 中发现了两个这样的案例,在您完成响应后调用 HttpWebResponse.Close() 为我解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    相关资源
    最近更新 更多