2013-10-26 4 views
0

나는 상태 머신을 성공적으로 저장하고 여러 번로드 한 후 상태 시스템에 책갈피를 적용했습니다.WF4 : Finished persisted state machine은 어디에 있습니까?

하지만 최종 상태에 도달하면 어떻게됩니까?

getiming이 끝난 후 데이터가 지체 데이터 저장소 ([System.Activities.DurableInstancing]. [InstancesTable])에서 제거 된 이유는 무엇입니까?

정상입니까 아니면 완성 된 statemachines를 유지하는데 실수합니까?

+0

왜 필요한가요? – Will

+0

@ 윌 : 그것은 정상적인 행동인지 또는 뭔가를 놓친 것을 알고 싶습니다. 왜 아무도 "서적이나 인터넷 기사에서"완성 된 워크 플로우가 지속 데이터베이스에서 제거 될 것 "이라고 언급 한 적이 있습니까? –

+0

왜 그렇지 않습니까? 실행이 완료되었습니다. 완성 된 워크 플로우를 저장하면 어떤 가치가 있습니까? 범위가 완료된 후에 수집 된 변수와 동일합니다. – Will

답변

1

워크 플로는 코드입니다. 더 큰 조각을 사용하여 논리를 정의하지만 결과를 실행하고 반환합니다. 결과 자체가 아닌 입니다.

승인/거부를 ​​결정하는 클래스가 있다고 가정 해보십시오. 해당 클래스를 회전시키고 인수 값을 전달하며 코드 실행이 승인/거부를 ​​결정하도록합니다. 이 코드가 실행 된 후에는 무엇을합니까?

당신은 그 방법의 코드를 저장하지 않을 것입니다. 승인 한 사람, 거부 한 사람 및 최종 결과를 저장합니다.

그래서 당신은 워크 플로우 코드하지만 결과를 저장하지 않아야합니다.

NativeActivity을 확장하는 사용자 지정 활동을 만들어이 워크 플로의 목표를 달성하고 하나 이상의 workflow extensions을 사용하여 바깥 세상과 통신하여 작업을 기다리는 승인 또는 거부에 대한 알림을 보냅니다. 그 과정에서 누가 내 북마크가 실행을 재개 할 때 누가 무엇을했는지 기록 할 것입니다. 워크 플로우가 완료되면 최종 결과도 기록합니다.

+1

예, 맞습니다. 워크 플로우에 모든 부담을 쏟고 싶었습니다! –