1

我正在寻找有关 WCF 双工通信的一些信息以及处理 WCF 和带宽使用时的最佳实践。我先解释一下我的申请...

.. 应用程序本身是用于计算机管理的。网络上的每台计算机都有一个代理(Windows 服务),并且需要与服务器(运行 WCF Duplex 服务的 Windows 服务)通信。有问题的网络上有大约 6000 台机器,其中大约 75% 的机器随时都在运行,但是应用程序需要能够同时处理所有正在运行的机器并能够处理资产的扩展也是。

代理和服务器之间的对话将受到限制,并且大部分时间只是代理“签入”以使用 PC 名称/IP 地址/登录用户更新服务器。根据服务器上设置的配置详细信息,代理将有一些任务要运行。

我有 2 个真正的问题和一些子问题......

  1. 让 6000 - 7000 个代理连接然后签入服务器是否合理。

    1a。如果是这样,是否有关于这些应该多久“签入”以保持连接正常而不经常签入的建议(WCF 接收/不活动超时默认为 10 分钟,但我不介意增加这个)

  2. 更新代理配置的最佳方法是什么?我有 2 个选项/想法

    2a. 当服务器上的配置发生更改时,它会将这些更改推送(回调)给代理 - 我担心泛滥 WAN,有没有一种好方法可以发送给所有代理而不泛滥它。

    2b。代理有一个配置更新时间段,它联系服务器以获取最新的配置详细信息 - 虽然这应该可以阻止泛滥 WAN 的问题(并非所有机器都会在完全相同的时间运行此更新),但这意味着配置即使代理连接到服务器,它也不总是最新的。

我希望这些是明智的问题,我到处寻找有关 WCF 服务的此类信息,但我找不到任何可以为我指明正确方向的信息。任何信息将不胜感激。

西蒙

4

1 回答 1

0

我也在尝试实现同样的场景。我已经通过以下方法进行了一些研发。

  • 带有 wsDualHttpBinding 的 WCF - 这种方法在本地网络中工作正常,不能在 Internet 上工作,因为这需要为客户端和服务器提供公共 IP。

  • WCF with web socket with netHttpbinding - 这是通过 Internet 实现双工通信的最佳选择,但不幸的是,这种方法需要客户端和服务器都拥有 win 8 或 win 2012。

  • 带有 nettcpbinding 的 WCF - 这对我来说是可行且最佳的方法。我设法让它通过互联网工作,我已经在单独的网络上进行了测试。

现在我担心的是当成千上万的客户端连接到 WCF 服务时会影响性能。如果有人做过这种开发,非常感谢您的建议。

于 2013-06-12T05:28:43.870 回答