pne*_*ook 5 .net c# task-parallel-library async-await tpl-dataflow
我正在使用TPL数据流来处理Azure辅助角色中的队列中的项目.我应该有一个长时间运行的数据流,还是为我收到的每封邮件生成一个新流?
如果块中抛出错误,该块将停止接受新消息.这意味着如果块中存在异常,则整个数据流将停止处理.
我需要能够在不锁定数据流的情况下承受无效队列输入等异常.我看到两个选项之一:
我已经看到很多关于如何在异常后完成数据流的文档,但很少有关于如何从异常中恢复的文档.
您绝对应该选择第一个选项并且只有一个流程。
在第二个选项中,与仅依次调用多个方法相比,使用数据流没有任何附加价值。为每个项目创建完整的数据流也会产生开销。
最好构建一次流程,并在应用程序的整个生命周期中使用它。我不认为处理每个块的异常有什么问题,但如果你愿意,可以让整个流程失败,然后再创建一个新的。
| 归档时间: |
|
| 查看次数: |
700 次 |
| 最近记录: |