원하는 작업을 수행하기 위해 협업하고 정보를 교환해야하는 두 가지 워크 플로 서비스 (상태 시스템)가 있습니다.상태에 의해 지원되지 않는 워크 플로 서비스 및 작업
내가 가지고있는 문제는 (그러나 나는 단지 하나의 상태 머신 만 가지고있다.) 때때로 나는 현재 상태에 의해 허용되지 않는 연산을 보내려고 시도한다.
이 두 가지 문제가 있습니다 : 1) 나는 때문에 지금 다른 문제
을에 나는 실제 시간 제한을 "마스크"있어요) 작업이이 허용되지 않았 음을 알고 작업 제한 시간을 기다릴 필요가, 나는이 발견 가능한 솔루션 : 1) 나는 true (허용)와 false (허용되지 않음)를 반환하고 모든 상태를 모든 상태에 추가하도록 서명을 변경할 수 있습니다 (허용되지 않는 작업은 자동 전환을 트리거하지 않음). 2) 모든 상태를 항상 모든 상태에 추가합니다. (허용되지 않는 셀프 전환) 트리거하지만 허용되지 않는 전환에 대한 예외를 보낼 것입니다어떤 옵션이 가장 좋을지 알고 싶습니다. (물론 다른 가능한 솔루션도 좋을 것입니다). 나는 try/catch 내에서 예외를 던져서 어떻게 예외에 응답 할 수 있는지 알고 싶다.
감사
는
비동기 위임 실행 패턴을 따르지 않는 이유는 무엇입니까? StartXXX는 폴링 할 수있는 IXXXHandler 인스턴스를 반환하고 완료 될 때까지 차단합니다. 계속 진행할 준비가되었을 때 유휴 워크 플로우를 돌릴 수 있도록 코드를 작성할 수도 있습니다. – Will