我有一个我尝试用TPL解决的场景。结果是不错的,但我想知道我的设计是否有缺陷,是否有改进或彻底改变的空间。
方案:
用户可以"订阅"到X个项目,可以设置该项目更新的给定间隔。如果该项目已更改其数据,则用户将收到通知。从那时起
一个重要的因素我想立即显示一个项目,而不是等待所有项目更新,然后通知用户批量中的所有更新项目,或者这是一个坏主意?
我的方法:
- 用户订阅名为ItemUpdated的事件。
- 每次使用给定的间隔调用一个名为Process的方法。通过在BackgroundWorker上创建运行方法,可以通过fire and forget方式调用该方法。过程
方法按以下方式工作:
2.1检索JSON字符串并将它们发布到与TransformBlock链接的BufferBlock
2.2 TransformBlock将每个JSON字符串解析为一个名为的域对象
项目。 TransformBlock链接到ActionBlock
2.3 ActionBlock为它收到的每个Item调用事件ItemUpdated。
醇>
我的问题基本上是:这是一个最佳解决方案还是应该重新考虑我的策略?我最关心的是我通过一个事件通知用户有关更新的项目。我应该使用异步回调方法来获取所有更新项目的列表,还是有替代解决方案?