我有兩個工作流服務(狀態機)應該合作並交換信息來完成所需的行爲。狀態不支持的工作流服務和操作
我有問題(但我只有一臺狀態機),有時候我會嘗試發送一個當前狀態不允許的操作。
有兩個問題:1)我要等待的操作超時,要知道上述操作是不允許2)我在「掩蓋」真正超時由於其他問題
到現在爲止,我發現了兩個可能的解決方案:1)我可以更改簽名以返回true(允許)和false(不允許)並將所有操作添加到所有狀態,(不允許操作會觸發自我轉換)2)我總是將所有轉換添加到所有狀態(不允許會觸發自我轉換),但不允許轉換我會發送例外
我想知道哪個是最好的選擇(當然,我也會欣賞其他可能的解決方案)。 我也想知道如何回覆一個異常請求(也許把它扔在try/catch中)。
謝謝
爲什麼不按照異步委託執行模式? StartXXX返回一個IXXXHandler實例,您可以輪詢,阻塞直到完成,或者任何您想要的。你甚至可以編寫代碼,這樣它就可以在空閒的工作流程準備好時繼續運行... – Will 2012-07-31 12:53:28