TPL数据流的正确方法和场景?

时间:2014-10-30 10:31:51

标签: c# asynchronous task-parallel-library tpl-dataflow

我有一个我尝试用TPL解决的场景。结果是不错的,但我想知道我的设计是否有缺陷,是否有改进或彻底改变的空间。

方案: 用户可以"订阅"到X个项目,可以设置该项目更新的给定间隔。如果该项目已更改其数据,则用户将收到通知。从那时起 一个重要的因素我想立即显示一个项目,而不是等待所有项目更新,然后通知用户批量中的所有更新项目,或者这是一个坏主意?

我的方法:

  1. 用户订阅名为ItemUpdated的事件。
  2. 每次使用给定的间隔调用一个名为Process的方法。通过在BackgroundWorker上创建运行方法,可以通过fire and forget方式调用该方法。过程 方法按以下方式工作:
    2.1检索JSON字符串并将它们发布到与TransformBlock链接的BufferBlock 2.2 TransformBlock将每个JSON字符串解析为一个名为的域对象 项目。 TransformBlock链接到ActionBlock 2.3 ActionBlock为它收到的每个Item调用事件ItemUpdated。
  3. 我的问题基本上是:这是一个最佳解决方案还是应该重新考虑我的策略?我最关心的是我通过一个事件通知用户有关更新的项目。我应该使用异步回调方法来获取所有更新项目的列表,还是有替代解决方案?

0 个答案:

没有答案