我们已经构建了作为状态机运行的工作流服务。
可能的WCF调用Workflow Service之一导致Workflow返回到之前的状态(起始状态和结束状态相同,因为没有满足条件以移动到新状态)。
我们注意到,在状态转换期间,发送到Workflow Service的任何其他请求都会以通信错误结束 - 没有端点侦听该端口。一旦工作流结束状态转换,就可以再次对Workflow Service发出相同的请求。
在我们看来,在状态转换期间,工作流服务上的所有侦听端点都被切断了。
如何处理?显然,我们可以在客户端捕获异常并进行重试,但是有更好的内置选项吗?
我们已经研究过Buffered Receive选项,但似乎有人正在建立一个队列,这意味着它甚至会接受甚至尚未到达的State的消息。