【问题标题】:Update .NET desktop application in real-time实时更新 .NET 桌面应用程序
【发布时间】:2010-10-21 16:42:35
【问题描述】:

我没有构建 .NET 桌面应用程序的经验,我的所有经验都是与 Web 相关的。我的一个朋友让我对一个小型桌面应用程序进行快速估算。

应用程序只显示数据库中的项目列表。当从数据库中删除/添加行时,需要从用户桌面的列表中删除/添加它们。

这在桌面应用程序中是否很容易完成,还是我需要每 X 秒执行一次“重新加载”?

【问题讨论】:

  • 你怎么能估计你没有任何经验的东西?
  • 我会在这里更改问题标题 - 我认为这是关于重新加载应用程序代码,而不是数据......也许是某种不同的文字游戏?

标签: c# .net


【解决方案1】:

最简单的设计将涉及每隔一段时间轮询数据库以查找新记录。调整轮询之间的秒数,以最好地反映实时的外观以及性能。

任何允许数据库管理系统向桌面应用程序广播更新的设计都将非常复杂,并且(取决于您的需要)很可能是矫枉过正。

【讨论】:

  • 你有如何做到这一点的例子吗?在网络上做有点棘手,我想看看如何在桌面应用程序上做。
【解决方案2】:

稍微详细说明 Andrew Hare 的设计,我建议您在用户交互发生时包含某种机制来“短路”刷新周期,即

每 x 秒刷新一次 和 如果用户单击一个被认为是关键的控件并且所需的更新少于 x 条记录,则立即 除了 这会将刷新率提高到某个油门值以上

基本上,您希望给人以高性能的印象。感知性能并不意味着快速完成任务,它更像是在您希望用户思考、闲逛或打字的时候做缓慢的工作,而不是在他们等待响应的时候。很少有应用程序在它们运行的​​一小部分时间里很忙——任何感知到的性能下降都源于糟糕的设计,即程序在用户请求时一次完成了太多工作,需要他们等待。后台缓存允许您只分配最少量的工作来直接响应用户输入,从而提高用户对性能的感知。

试图直接提供帮助:

您声明您正在使用 .Net - 这很方便。 .Net 数据绑定非常丰富和强大,很有可能让这项工作变得轻而易举。

但是 - 请继续阅读...

它有可能不会完全按照你的意愿行事。这就是数据绑定成为巨大痛苦的地方。数据绑定需要按照 .Net 想要的方式设置某些东西,如果不是,则需要大量工作以按照您需要的方式重新实现基本功能。在这种情况下,请不要犹豫,查阅 MSDN 文档和 StackOverflow。早问,多问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    相关资源
    最近更新 更多