我有以下称为任务的状态机:
开始 -> A -> B -> 完成
B 和完成之间的转换是一种称为 CompleteTask 的单向接收活动。似乎当工作流实例处于状态 A 时,对 CompleteTask 的任何调用都会排队。当状态转移到 B 时,调用将立即执行。如果 CompleteTask 是双向调用,它将具有相同的行为,只是客户端将挂起并等待响应。由于工作流程处于错误状态,因此通常会导致超时。
这对我来说有点出乎意料。我希望当用户进行“状态外”调用时,工作流引擎只会给我一个异常。
在相关性方面,我使用了一个名为 taskInstanceID 的全局 CorrelationHandle。我有一种感觉,local correlationHandle 可能是解决这个问题的关键。
对此有什么想法吗?有什么方法可以在工作流基础中使“状态外”调用非法?
谢谢!