我有两个工作流服务(状态机)应该合作并交换信息来完成所需的行为。状态不支持的工作流服务和操作
我有问题(但我只有一台状态机),有时候我会尝试发送一个当前状态不允许的操作。
有两个问题:1)我要等待的操作超时,要知道上述操作是不允许2)我在“掩盖”真正超时由于其他问题
到现在为止,我发现了两个可能的解决方案:1)我可以更改签名以返回true(允许)和false(不允许)并将所有操作添加到所有状态,(不允许操作会触发自我转换)2)我总是将所有转换添加到所有状态(不允许会触发自我转换),但不允许转换我会发送例外
我想知道哪个是最好的选择(当然,我也会欣赏其他可能的解决方案)。 我也想知道如何回复一个异常请求(也许把它扔在try/catch中)。
谢谢
为什么不按照异步委托执行模式? StartXXX返回一个IXXXHandler实例,您可以轮询,阻塞直到完成,或者任何您想要的。你甚至可以编写代码,这样它就可以在空闲的工作流程准备好时继续运行... – Will 2012-07-31 12:53:28