2010-04-07 84 views
1

我有一个工作流程服务,它运行并执行许多不同的操作(如Web服务调用)。工作流程基础4.0消息关联和错误报告

如果其中一个操作失败,我会调用错误报告Web服务来通知单独的系统我的工作流操作之一失败。由于错误可能类似于Web服务停机,我将循环并重试此操作,直到其运行。

尽管我传递给此Web服务的数据出错并需要更改,但可能会有时间。所以我需要能够挂钩到正在运行(但延迟)的工作流并更改本地工作流变量,然后重新运行该操作。

我已经看到了工作流程4.0中的消息关联来实现这个目标,但是由于延迟活动在我的正在运行的工作流实例中处于活动状态,所以任何第二个服务调用都不会执行任何操作(就像延迟活动阻止了其他任何请求)。

我试着将'CanCreateInstance'设置为true和false,但它没有帮助。

谢谢!

回答

0

不知道这是否是你的问题的答案,但它可能只是。如果您正在使用工作流实例存储和属性升级,则可以选择在下次加载工作流时更改实例存储中的属性。

+0

感谢Maurice(这并不完全是我之后的样子) - 我想我应该问这个问题:“有没有人知道任何关于工作流4中消息关联的好文章?”。我无法正确处理它。我已阅读您的问题解决者文章,但它仅是一个代码示例,并未使用相同的本地工作流程变量处理2个服务调用。 – Lygpt 2010-04-09 08:24:46

+1

关于消息关联的更多博客帖子在我的待办事项列表中。在我这样做之前等待RTM位的种类,但请继续关注。 – Maurice 2010-04-09 14:43:10

1

您需要将Delay活动放入并行容器中,并且还需要接收任务。这意味着它将在等待循环处理时监听请求。

有关消息关联如何工作的示例,我发现Tailspin Travel示例非常有用。在“等待确认”框中查看“接收批准”任务,了解如何将请求连接在一起。

+0

平行容器 - 天才! – bigtv 2011-10-05 07:21:54