2

我在 WorkflowServiceHost 中托管的工作流服务上有 2 种方法。

第一种方法被调用并启动常规工作流程序列 - 与其他 Web 服务、数据库工作等对话,但在某些情况下会暂停并持续到 db(如延迟活动中)并等待一些人为操作发生,然后再继续.

我需要我的第二种方法能够连接到这个持久的工作流,更改一个局部变量,然后继续处理。

我已经查看了工作流中基于消息的相关性,但似乎只能找到某种无限循环保持工作流实例处于活动状态的示例,以便第二个服务方法调用可以在它仍在运行时到达。

因为我的工作流实例将被延迟/持续,所以第二个服务调用似乎没有到达任何地方(我不能有一个无限的 while 循环来保持工作流实例处于活动状态)。

我希望这是有道理的——干杯!

4

3 回答 3

1

您是否尝试在这里遇到任何问题?如果是这样,正在发生什么或您看到了什么错误?

我问的原因是这应该可以工作。WorkflowServiceHost 接收消息,根据需要从持久性存储加载工作流,并恢复工作流中的书签(接收活动在幕后使用书签)。

于 2010-04-01T19:50:59.830 回答
1

如果您希望接收能够阻止延迟完成,则需要将延迟活动与第二个接收活动一起放入 PickBranch。正如您现在所解释的,Delay 活动正在阻止工作流进行到您的 Receive 活动实际注册其书签的点。

于 2011-03-11T16:48:05.877 回答
0

确保您的第二个服务调用没有将 CanCreateInstance 设置为 true 并且正确配置了相关性。正如另一张海报所提到的,这应该没有问题。

于 2011-03-11T15:06:39.053 回答