C# 有没有一种方法可以检测TPL数据流图中的中断

C# 有没有一种方法可以检测TPL数据流图中的中断,c#,tpl-dataflow,C#,Tpl Dataflow,我创建了相当复杂的TPL数据流图,并且经常会在图的某个地方出现中断。这种情况的症状只是应用程序挂起,因为一些数据流块正在等待消息 除了手动跟踪图形外,是否有其他方法可以检测何时发生这种情况?我可以看到DataflowBlock的调试视图中有一个LinkedTargets属性可用-当我有一个中断时,它被设置为0。但是,因为这不是公开的,所以我不能写一些东西来自动检查它。您可以使用反射。使用反射检索中的链接目标,并为每个块创建链接目标列表。然后创建一个图形结构 这个结构可以像可视化工具一样可视化,也

我创建了相当复杂的TPL数据流图,并且经常会在图的某个地方出现中断。这种情况的症状只是应用程序挂起,因为一些数据流块正在等待消息


除了手动跟踪图形外,是否有其他方法可以检测何时发生这种情况?我可以看到DataflowBlock的调试视图中有一个LinkedTargets属性可用-当我有一个中断时,它被设置为0。但是,因为这不是公开的,所以我不能写一些东西来自动检查它。

您可以使用反射。使用反射检索中的链接目标,并为每个块创建链接目标列表。然后创建一个图形结构

这个结构可以像可视化工具一样可视化,也可以在代码中搜索分区。Quickgraph已经存在,可能会有用

不过,一个更简单的解决方案是只搜索具有0个链接目标的非ActionBlock块