我有一个工作流服务,可以运行并执行许多不同的操作(例如Web服务调用)。
如果其中一个操作失败,我会调用错误报告Web服务来通知单独的系统我的某个工作流操作失败。由于错误可能类似于Web服务正在关闭,我循环并重试此操作直到它工作。
有时候我传递给这个Web服务的数据有问题并且需要更改。因此,我需要能够挂钩这个运行(但延迟)的工作流并更改本地工作流变量,然后重新运行该操作。
我已经查看了工作流4.0中的消息关联来实现这一点,但由于延迟活动在我正在运行的工作流实例中处于活动状态,因此任何第二个服务调用都不会执行任何操作(就像延迟活动阻止任何其他请求一样)
我尝试将'CanCreateInstance'设置为true和false,但它没有用。
谢谢!
答案 0 :(得分:1)
您需要将Delay活动放在Parallel容器中,并且还要具有receive任务。这意味着它将在等待循环处理时监听请求。
有关消息关联如何工作的示例,我发现Tailspin Travel示例非常有用。检查“等待确认”框中的“接收批准”任务,以了解如何将请求绑定在一起。
答案 1 :(得分:0)
不确定这是否是您问题的答案,但可能只是。如果您正在使用工作流实例存储和属性提升,则可以选择更改实例存储中的属性,以便下次加载工作流。