【问题标题】:Design Qn RE: System-wide timer (C#). What timer in what layer?设计 Qn RE:系统范围的计时器 (C#)。什么定时器在哪一层?
【发布时间】:2011-03-09 08:39:31
【问题描述】:

感谢您花时间阅读这个问题。

我正在设计一个用 c# 编写的 3 层解决方案,需要每分钟执行一次处理。处理应该从程序的不同未连接部分同时启动。

实现系统范围计时器的最佳方式是什么?应该在业务逻辑层还是UI层? 哪种计时器最好,例如一个来自 System.Forms 或来自 System.Threading,还是?这种情况有经验法则吗?

非常感谢

【问题讨论】:

    标签: c# architecture timer 3-tier


    【解决方案1】:

    我想说在您的业务层中有一个静态或单例类公开一个事件,应用程序中的其他人都可以订阅该事件。

    我会使用 System.Threading.Timer,它使用自己的线程。 相反,System.Windows.Forms 用于在控件内部使用(我认为在 UI 线程中运行)。

    【讨论】:

    • 我同意。应该使用 System.Threading.Timer(并且它在它自己的线程中打勾) - 然后该计时器事件应该引发一些静态事件,其他组件可以订阅这些事件。
    • 谢谢。我需要研究静态事件,我不确定你是否可以拥有这些。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多