我正在开发一个工作流程,它将从供应商发送给我们的各种文件中接收数百行文本(CSV)作为输入。理想情况下,我希望使用Windows Workflow执行此操作,以便在服务器或台式PC上托管,并在多个不同平台上重复使用相同的代码。
对于每种类型的输入文件,我需要运行几个'修复'为了按摩数据导入标准格式。一个'修复的例子'在CSV行中交换两列,可以使用简单的RegEx来完成。
我想做的是拥有标准的基础'每种类型的文件使用的工作流,但随后根据需要传递其他工作流活动。这样,如果新供应商开始发送文件,我们可以快速添加任何规则来修复'他们的草率数据。
我试图通过迭代输入活动并使用' InvokeWorkflow'来实现这一点。具有相关输入参数的活动。这可行,但它似乎非常慢 - 可能是因为每次调用的每个活动的设置成本。
作为一种解决方法,对于传入的每个Activity,我创建了一个新的WorkflowInvoker,然后使用了' InvokeMethod'触发活动的活动。这样可以解决性能问题。
这种方法是否合理,或者是否有更好的方法在WF中实现这一目标?我使用的方法是否存在任何限制?