我在WorkflowServiceHost中托管的工作流服务上有2个方法。
第一种方法被调用并启动常规工作流序列 - 与其他Web服务,数据库工作等交谈,但在某些场合将暂停并持续到db(如在延迟活动中)并等待一些人为操作在继续之前放置。
我需要第二种方法才能挂钩这个持久化的工作流程,更改局部变量然后继续处理。
我已经查看了工作流中基于消息的关联,但似乎只能找到一些示例,其中某种无限while循环使工作流实例保持活动状态,以便第二个服务方法调用可以在它仍在运行时到达。
因为我的工作流实例将被延迟/持久化,所以第二次服务调用似乎无法到达任何地方(我无法使用无限的while循环来保持工作流实例处于活动状态)。
我希望这是有道理的 - 干杯!
答案 0 :(得分:1)
您是否尝试过遇到任何问题?如果是这样,发生了什么或者你看到了什么错误?
我问的原因是这应该起作用。 WorkflowServiceHost接收消息,如果需要,从持久性存储加载工作流,并在工作流中恢复书签(接收活动使用书签下的书签)。
答案 1 :(得分:1)
如果您希望Receive能够延迟延迟完成,您需要将延迟活动放在第二个Receive活动旁边的PickBranch中。正如您现在解释的那样,延迟活动阻止工作流程进展到您的Receive活动实际注册其书签的位置。
答案 2 :(得分:0)
确保您的第二个服务调用没有将CanCreateInstance设置为true并且正确配置了关联。正如另一张海报所提到的,这应该没有问题。