Export (0) Print
Expand All

PersistenceParticipant::PublishValues Method

The host invokes this method and passes all the loaded values in the InstanceData() collection (filled by the LoadWorkflowCommand or LoadWorkflowByInstanceKeyCommand) as a dictionary parameter.

Namespace:  System.Activities.Persistence
Assembly:  System.Activities (in System.Activities.dll)

virtual void PublishValues(
	IDictionary<XName^, Object^>^ readWriteValues


Type: System.Collections.Generic::IDictionary<XName, Object>
The read-write values that were loaded from the persistence store. This dictionary corresponds to the dictionary of read-write values persisted in the most recent persistence episode.

The following code sample demonstrates using PublishValues in a class that derives from PersistenceParticipant. This example is from the Persistence Participants sample.

public class StepCountExtension : PersistenceParticipant
    static XNamespace stepCountNamespace = XNamespace.Get("urn:schemas-microsoft-com:Microsoft.Samples.WF/WorkflowInstances/properties");
    static XName currentCountName = stepCountNamespace.GetName("CurrentCount");

    int currentCount;

    public int CurrentCount
            return this.currentCount;

    internal void IncrementStepCount()
        this.currentCount += 1;

    protected override void CollectValues(out IDictionary<XName, object> readWriteValues, out IDictionary<XName, object> writeOnlyValues)
        readWriteValues = new Dictionary<XName, object>(1) { { currentCountName, this.currentCount } };
        writeOnlyValues = null;

    protected override void PublishValues(IDictionary<XName, object> readWriteValues)
        object loadedData;
        if (readWriteValues.TryGetValue(currentCountName, out loadedData))
            this.currentCount = (int)loadedData;

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

© 2014 Microsoft