tpl-dataflow

    1热度

    1回答

    假设我有一个有限容量为2的BufferBlock,我将它与MaxDegreeOfParallelism = 2链接(使用LinkTo())一个ActionBlock。现在,我知道我将立即能够发送2个项目到缓冲区,并且ActionBlock将会立即开始处理它们。但让我们说这些行动需要几秒钟才能完成。当那些首先执行的动作正在运行时,或者是仅在消耗完操作后才从缓冲区中删除的项目,我才能够将另外2个项目发

    4热度

    1回答

    在我的应用程序中,我想要使用替换值字典连接多个字符串。 readTemplateBlock得到了FileInfos并返回它们的内容作为字符串。 getReplacersBlock获取(一次)一个替换字典。 joinTemplateAndReplacersBlock应加入readTemplateBlock的每个项目与一个getReplacersBlock结果。 在我目前的设置中,它需要我为每个发布的

    1热度

    1回答

    我正在尝试创建某种类型的队列来处理收到的N个最新消息。现在,我有这样的: private static void SetupMessaging() { _messagingBroadcastBlock = new BroadcastBlock<string>(msg => msg, new ExecutionDataflowBlockOptions { //Bou

    1热度

    1回答

    我在如何将TPL DataFlow应用到我的应用程序中挣扎。 我有一堆并行数据操作,我想跟踪和管理,以前I was just using Tasks,但我试图实现DataFlow给我更多的控制权。 我撰写任务要说获取数据并进行处理的管道,这里有一个管道get数据,process数据的例子,并且log为完成: TransformBlock<string, string> loadDataFromFi

    2热度

    2回答

    我正在学习TPL Dataflow图书馆。到目前为止,这正是我所期待的。 我创建了一个简单的类(下文)执行以下功能 后的ImportPropertiesForBranch执行我去一个第三方的API,并得到 ,则返回XML列表属性的列表并反序列化成属性数据数组(id,api endpoint,lastupdated)。有大约400多个房产(如房屋)。 我然后用Parallel.For来SendAsy

    0热度

    1回答

    我正在寻找.NET TPL Dataflow库的C++模拟。 在TPL数据流中,您可以指定块的容量选项的并行度&。如果该块的输入队列的大小达到它的容量,则相应的块的生成器的执行被挂起: var buffer = new BufferBlock<int>(new DataflowBlockOptions() { BoundedCapacity = 10 }); var producer = ne

    1热度

    1回答

    我是TPL Dataflow的新手。我有一个需要处理的项目编号列表。一个项目可能有大约8000项目,我需要获取项目中每个项目的数据,然后将这些数据推送到5个独立的服务器中。 这是我到目前为止编码。我一直坚持如何将这些数据加载到5台服务器的步骤。我不确定这是否正确编码。任何意见非常感谢。 public static bool PushData(string projectId) { va

    1热度

    1回答

    我有我需要处理的项目编号列表。一个项目可能有大约8000个项目,我需要获取项目中每个项目的数据,然后将这些数据推送到服务器列表中。任何人都可以告诉我以下... 1)我有1000个项目在iR但只有998被写入服务器。通过使用broadCastBlock,我的物品是否松动? 2)我是否正确地等待所有actionBlocks? 3)如何使数据库调用异步? 这里是数据库代码 public Memcache

    1热度

    1回答

    我仍然对TPL DataFlow感到厌倦,所以请耐心等待。 我的应用程序需要并行执行队列,同时保持其顺序。这导致我到DataFlow库和我想要做的。我想知道是否有一种方法可以将一个ActionBlock链接到另一个ActionBlock,而第二个从第一个ActionBlock的值开始操作。 伪例如: var block1 = new ActionBlock<ByteBuffer>(buffer =

    1热度

    1回答

    我想知道是否有一个简洁的方式来替代IDataflowBlock.Completion来取代ReceiveAsync或类似的方法使用取消令牌从BufferBlock或其他IDataflowBlock消耗。 IDataflowBlock.ReceiveAsync<T>(TimeSpan, CancellationToken) 如果InputQueue是BufferBlock: BufferBloc