【发布时间】:2020-02-11 17:46:06
【问题描述】:
链接数据流块时,您可以选择“传播完成”设置。这实质上是将完成从源传播到目标。
但是,我有一个应用程序,从数据库中提取数据并且下游块正在监视某些条件是否为真。当达到这个条件时,我想杀死数据流。本质上,我希望我的下游块向上游传播完成。
我将如何使用 TPL 数据流来做到这一点?
【问题讨论】:
-
也许你应该给你的下游块引入副作用,所以当满足条件时,它只会生成上游块正在监听的“关闭事件”之类的东西。换句话说,上游块被通知它应该完成数据流管道/网络。
-
@BART 这就是我想做的事情。让下游持有对上游块的引用,然后对其调用 Complete 方法。
-
你希望这个完成有多突然? CancellationToken 将中止所有块,丢弃所有缓冲数据
标签: c# async-await task-parallel-library tpl-dataflow