PersistenceParticipant.PublishValues(IDictionary<XName,Object>) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Konak bu yöntemi çağırır ve koleksiyondaki InstanceData tüm yüklü değerleri (veya LoadWorkflowByInstanceKeyCommandile LoadWorkflowCommand doldurulur) sözlük parametresi olarak geçirir.
protected:
virtual void PublishValues(System::Collections::Generic::IDictionary<System::Xml::Linq::XName ^, System::Object ^> ^ readWriteValues);
protected virtual void PublishValues (System.Collections.Generic.IDictionary<System.Xml.Linq.XName,object> readWriteValues);
abstract member PublishValues : System.Collections.Generic.IDictionary<System.Xml.Linq.XName, obj> -> unit
override this.PublishValues : System.Collections.Generic.IDictionary<System.Xml.Linq.XName, obj> -> unit
Protected Overridable Sub PublishValues (readWriteValues As IDictionary(Of XName, Object))
Parametreler
- readWriteValues
- IDictionary<XName,Object>
Kalıcılık deposundan yüklenen okuma-yazma değerleri. Bu sözlük, en son kalıcılık bölümünde kalıcı olan okuma-yazma değerlerinin sözlüğüne karşılık gelir.
Örnekler
Aşağıdaki kod örneği, öğesinden PersistenceParticipanttüretilen bir sınıfta PublishValues kullanmayı gösterir. Bu örnek Kalıcılık Katılımcıları örneğinden alınmalıdır.
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
{
get
{
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;
}
}
}