Many people build applications that use the current state and possible transitions of a state machine to enable or disable commands in the user interface. Unlike WF3, in WF4, any activity can contain a state machine, including other state machines. Therefore any workflow may have multiple state machines, each of which could be in a different state, however only one of them is active at any given time.

The solution is to use a tracking participant and persistence participant to track the current state and possible transitions. There are two classes which you will use to do this.
  • StateMachineStateTracker
  • StateTrackerPersistenceProvider

Step by Step

Last edited Apr 6, 2012 at 9:12 PM by ronjacobs, version 1


IFA_User Sep 14, 2013 at 1:37 PM 
i Found a bug in this dll
please read