【发布时间】:2010-06-04 21:54:28
【问题描述】:
我有一个应用程序,它由一个 WPF UI 组成,它下面有一个“基础设施”层,其中有一些对各种数据服务的引用。我有一个类,Updater,它有几个属性代表 UI 层要使用的数据。此更新程序有一个 Systems.Timer 功能,因此每隔一分钟左右,它就会对服务进行同步调用,并通过“刷新”数据来更新上述属性。
我想从这个类中引发一个事件,当它完成时,UI 可以收到更改通知。当我之前做类似的事情时,它会左右抛出异常,因为触发事件的线程不同(因为它来自计时器经过的事件)然后是创建对象的线程。
我现在使用的糟糕解决方案是在 UI 层上设置另一个计时器,但是......糟糕。
通知 UI Updater 类已完成所有工作的最佳方式是什么?
【问题讨论】: