您能否推荐在大数据量上使用WPF开发分布式应用程序的最佳实践?

时间:2011-02-23 06:27:01

标签: wpf architecture distributed

我们开始使用WPF开发分布式客户端服务器应用程序 我正在寻找能够满足以下要求的最佳实践:

  1. 可以在客户端组合多个数据源。
  2. 服务器端数据可以使用新的业务数据进行修饰。
  3. 应用程序应该能够处理非常大量的数据(网格中数千条记录的数量)。
  4. 应同步多个客户端。即,如果客户端更改当前在另一个客户端中显示的实体,则应通知另一个客户端。
  5. 我很欣赏任何讨论全部或部分问题的书籍/文章/博客/样本。

    我正在寻找更多MVVM +域模型。

    感谢您的帮助&时间
    罗恩

1 个答案:

答案 0 :(得分:1)

我可能会要求您重申(3)点的必要性。应用程序逻辑是否真的需要客户端的所有大量数据?如果您可以将其减少到最小并让DataGrid存储滚动位置/过滤/搜索的状态,那么您始终可以在分页或滚动触发器上非常快速地从服务器检索下一组结果。当然,这比客户端和服务器端的工作更多,而不是从表中选择Select *作为WCF结果并将其绑定到DataGrid :)。我的观点是,您可能需要考虑服务器端数据虚拟化而不是客户端,这样您就不会提供用户永远不会看到的不需要的数据。

考虑一下谷歌搜索结果,浏览器只获得这些百万结果的一小部分,但服务器知道上下文。因此,我建议您探索这个想法,减少客户端的复杂性和工作。尽可能减少网络上的数据,并将调用服务器作为少量数据的异步块。我相信你会得到更好的结果。

(4)您可以使用双工绑定或某些延迟线程轮询机制取决于您需要更新的速度。这些更新频道消息传递应该尽可能小,以提高性能。