A derived vclass of the PersistenceParticipant class with methods that perform input and output operations in addition to the persisting and loading of workflow instances through the persistence process.
public ref class PersistenceIOParticipant abstract : System::Activities::Persistence::PersistenceParticipant
public abstract class PersistenceIOParticipant : System.Activities.Persistence.PersistenceParticipant
type PersistenceIOParticipant = class
Public MustInherit Class PersistenceIOParticipant
A host completes a stage before beginning the next stage. For example when persisting, the host collects values from all the persistence participants before moving to the second stage. In the second stage, the host provides all the values collected in the first stage to all persistence participants in the second stage for mapping. In the third stage, the host provides all the collected values in the first and second stages to the persistence provider when invoking the SaveWorkflowCommand. Then in the fourth stage, the host provides all the collected values to all the persistence IO participants under the persistence transaction.
A host executes the following stages when loading a persistence instance:
At the highest level, workflow instance extensions that derive from the PersistenceParticipant class can participate in the first (Collect) and second (Map) stages of persisting process and the third stage (Publish) of loading process. Workflow instance extensions deriving from the PersistenceIOParticipant class can additionally participate in the fourth stage of the persisting process and the second stage of the loading process (I/O).
A host invokes this method after it is done with collecting the values in the first stage. The host forwards two read-only dictionaries of values it collected from all persistence participants during the first stage (CollectValues stage) to this method for mapping. The host adds values in the dictionary returned by this method to the collection of write-only values.