PersistenceParticipant Klasse

Definition

Diese Klasse ermöglicht sowohl die WorkflowApplication Teilnahme am Persistenzprozess als auch WorkflowServiceHost an der Teilnahme. Ein Persistenzteilnehmer leitet sich von der PersistenceParticipant Klasse oder der PersistenceIOParticipant Klasse ab (abgeleitete Klasse der PersistenceParticipant Klasse), implementiert abstrakte Methoden und fügt dann eine Instanz der Klasse als Workflowinstanzerweiterung hinzu. Suchen WorkflowApplication Und WorkflowServiceHost suchen Sie nach solchen Erweiterungen, wenn sie eine Instanz beibehalten und entsprechende Methoden zu geeigneten Zeiten aufrufen.

public ref class PersistenceParticipant abstract
public abstract class PersistenceParticipant
type PersistenceParticipant = class
Public MustInherit Class PersistenceParticipant
Vererbung
PersistenceParticipant
Abgeleitet

Beispiele

Das folgende Codebeispiel veranschaulicht das Erstellen einer Klasse, die von PersistenceParticipant. Dieses Beispiel stammt aus dem Einstellungsprozessbeispiel .

public class HiringRequestInfoPersistenceParticipant: PersistenceIOParticipant
{
    public HiringRequestInfoPersistenceParticipant()
        : base(true, false)
    {
    }

Hinweise

Ein Host führt beim Speichern einer Instanz die folgenden Schritte (oder Phasen) aus:

  1. Erfasst zu speichernde Werte.

  2. Ordnet Felder von monolithischen strukturierten Werten einzelnen Werten zu.

  3. Gibt den SaveWorkflowCommand Persistenzanbieter aus.

  4. Führt E/A unter der Persistenztransaktion aus.

Ein Host schließt eine Phase ab, bevor die nächste Phase beginnt. Wenn der Host beispielsweise beibehalten wird, sammelt der Host Werte von allen Persistenzteilnehmern, bevor er zur zweiten Phase wechselt. In der zweiten Phase stellt der Host alle werte bereit, die in der ersten Phase gesammelt werden, für alle Persistenzteilnehmer in der zweiten Phase für die Zuordnung. In der dritten Phase stellt der Host alle gesammelten Werte in der ersten und zweiten Stufe für den Persistenzanbieter bereit, wenn der Aufruf der SaveWorkflowCommand. Anschließend stellt der Host in der vierten Phase alle gesammelten Werte für alle Persistenz-E/A-Teilnehmer unter der Persistenztransaktion bereit.

Ein Host führt beim Laden einer Persistenzinstanz die folgenden Phasen aus:

  1. Gibt den LoadWorkflowCommand Persistenzanbieter und LoadWorkflowByInstanceKeyCommand den Persistenzanbieter aus.

  2. Führt E/A unter der Persistenztransaktion aus.

  3. Veröffentlicht die geladenen Werte.

Auf der höchsten Ebene können Workflowinstanzerweiterungen, die von der PersistenceParticipant Klasse abgeleitet werden, an den ersten (Collect)- und zweiten (Map)-Phasen des permanenten Prozesses und der dritten Phase (Veröffentlichung) des Ladevorgangs teilnehmen. Workflowinstanzerweiterungen, die von der PersistenceIOParticipant-Klasse abgeleitet werden, können zusätzlich an der vierten Phase des permanenten Prozesses und der zweiten Phase des Ladevorgangs (E/A) teilnehmen.

Konstruktoren

Name Beschreibung
PersistenceParticipant()

Initialisiert eine Instanz der PersistenceParticipant Klasse.

Methoden

Name Beschreibung
CollectValues(IDictionary<XName,Object>, IDictionary<XName,Object>)

Ein Host ruft diese Methode für einen benutzerdefinierten Persistenzteilnehmer auf, um Lese-/Schreibwerte und schreibgeschützte Werte zu sammeln, die beibehalten werden sollen.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MapValues(IDictionary<XName,Object>, IDictionary<XName,Object>)

Ein Host ruft diese Methode auf, nachdem sie mit dem Sammeln der Werte in der ersten Phase abgeschlossen wurde. Der Host leitet zwei schreibgeschützte Wörterbücher von Werten weiter, die von allen Persistenzteilnehmern während der ersten Phase (CollectValues-Phase) für die Zuordnung gesammelt wurden. Der Host fügt der Sammlung schreibgeschützter Werte im Wörterbuch, das von dieser Methode zurückgegeben wird, Werte hinzu.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
PublishValues(IDictionary<XName,Object>)

Der Host ruft diese Methode auf und übergibt alle geladenen Werte in der InstanceData Auflistung (gefüllt vom LoadWorkflowCommand oder LoadWorkflowByInstanceKeyCommand) als Wörterbuchparameter.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: