我正在开发Windows工作流应用程序。我有一个项目集合,我需要同时处理集合中的每个项目。以下是工作流程中活动的伪代码
[Receive Message]
[Send Message]
[GetItemsFromDB]
[For Each Item]
{
[Sequence] // for each Item i want to process this sequence concurrently
{
[Process Item]
[Call Some API]
[Receive Message]
}
}
WWF具有ParallelForEach<T>
活动,但此活动不会同时处理集合中的每个项目。仅当主体内的任何Activity进入空闲状态时,它才会处理集合中的下一个项目。所以在上面的例子中,如果我使用ParallelForEach<T>
那么
如果[Call Some API]
空闲,那么只有它会处理集合中的下一个项目。 More Here
我希望每个项目的序列块同时执行? 我怎么做?任何建议
答案 0 :(得分:1)
您链接的问题没有回答您的问题吗?工作流是单线程的,你必须处理它。如果您的工作可以异步完成,则应使用AsyncCodeActivity。如果没有,您链接的问题具有可以轻松创建非阻止活动的代码。