请查看下面的TPL Dataflow网络方案。
有一个URL列表,多个Load块和一个Parse块。
Load块使用不同的代理服务器加载HTML页面,所有这些块都链接到Parse块,其中进行CPU绑定的工作。如果在页面加载过程中出现异常,则将URL添加回列表。
我使用手工循环(如图)向Load块发布URL。 我的问题是:是否有任何块类型可以帮助选择要发布URL的Load块,而不是使用我的手工循环?例如,它将URL发布到第一个Load块,其.InputCount <=2。
还有一个问题:代理服务器在Dataflow执行期间可能变得不可用。我认为,如果我在URL列表中放置BufferBlock,那么如果有这样的能力,我将能够动态取消链接具有死代理的LoadBlocks与此BufferBlock。那么,有没有一种方法可以动态取消网络中的块链接?
我使用手工循环(如图)向Load块发布URL。 我的问题是:是否有任何块类型可以帮助选择要发布URL的Load块,而不是使用我的手工循环?例如,它将URL发布到第一个Load块,其.InputCount <=2。
还有一个问题:代理服务器在Dataflow执行期间可能变得不可用。我认为,如果我在URL列表中放置BufferBlock,那么如果有这样的能力,我将能够动态取消链接具有死代理的LoadBlocks与此BufferBlock。那么,有没有一种方法可以动态取消网络中的块链接?
LinkTo
是否已被释放,看起来这是一个私有属性。我需要通过这种方式检查是否没有活动的TransformBlocks
。 - AsValeOIDisposable
的集合,调用Dispose()
同时从集合中删除它。 - svick