我想知道如何实现状态机进程,以便我可以调用单个 WCF 合约到进程并直接接收响应,根据我发送给它的参数具有进程的当前状态(S1、S2 或 S3)。
我有一个状态机工作流程。流程范围内有一些变量,但最重要的是CurrentState变量,它保存流程的当前状态。
我们还有P1值来控制状态机中的转换。它的值被接收并设置在进程的第一个状态,称为S0。
S0状态通过接收带有P1流程参数的 WCF 调用来初始化 Workflow。然后,根据P1值,过程进入状态S1、S2或S3。
在状态S1,S2和S3我们有一个 Assign 活动,它将 CurrentState 设置为S1、S2或S3。
是否有可能在状态S0中进行 Receive 活动,在状态S1、S2和S3中进行 SendReply 活动?那么我可以在过渡到 S1/S2/S3 完成后直接返回进程的 CurrentState 吗?在这种情况下,最佳做法是什么?