PersistenceParticipant Klasse

Definition

Diese Klasse ermöglicht sowohl WorkflowApplication als auch WorkflowServiceHost die Teilnahme am Dauerhaftigkeitsprozess. Ein Dauerhaftigkeitsteilnehmer leitet 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. WorkflowApplication und WorkflowServiceHost suchen beim Beibehalten einer Instanz nach diesen Erweiterungen und rufen zum richtigen Zeitpunkt entsprechende Methoden auf.

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

Beispiele

Im folgenden Codebeispiel wird das Erstellen einer Klasse veranschaulicht, die von PersistenceParticipant abgeleitet wird. Dieses Beispiel stammt aus dem Beispiel "Einstellungsprozess" .

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

Hinweise

Beim Beibehalten einer Instanz führt ein Host die folgenden Schritte (oder Phasen) aus:

  1. Erfasst Werte, die beibehalten werden sollen.

  2. Ordnet einzelnen Werten Felder mit monolithisch strukturierten Werten zu.

  3. Gibt den SaveWorkflowCommand an den Dauerhaftigkeitsanbieter aus.

  4. Führt E/A im Rahmen der Dauerhaftigkeitstransaktion aus.

Ein Host schließt eine Phase ab, bevor er mit der nächsten Phase beginnt. Beim Beibehalten erfasst der Host bespielsweise Werte von allen Dauerhaftigkeitsteilnehmern, bevor er mit der zweiten Phase fortfährt. In der zweiten Phase stellt der Host alle in der ersten Phase erfassten Werte für alle Dauerhaftigkeitsteilnehmer in der zweiten Phase bereit, um die Zuordnung sicherzustellen. In der dritten Phase stellt der Host alle in der ersten und zweiten Phase erfassten Werte für den Dauerhaftigkeitsanbieter bereit, wenn SaveWorkflowCommand aufgerufen wird. In der vierten Phase stellt der Host dann alle erfassten Werte für alle Dauerhaftigkeits-EA-Teilnehmer im Rahmen der Dauerhaftigkeitstransaktion bereit.

Beim Laden einer Dauerhaftigkeitsinstanz führt ein Host die folgenden Phasen aus:

  1. Gibt LoadWorkflowCommand und LoadWorkflowByInstanceKeyCommand an den Dauerhaftigkeitsanbieter aus.

  2. Führt E/A im Rahmen der Dauerhaftigkeitstransaktion aus.

  3. Veröffentlicht die geladenen Werte.

Auf der höchsten Ebene können Workflowinstanzerweiterungen, die von der PersistenceParticipant-Klasse abgeleitet sind, an der ersten und zweiten Phase (Erfassen, Zuordnen) des Dauerhaftigkeitsprozesses und an der dritten Phase (Veröffentlichen) des Ladeprozesses teilnehmen. Workflowinstanzerweiterungen, die sich von der PersistenceIOParticipant-Klasse ableiten, können darüber hinaus an der vierten Phase des Dauerhaftigkeitsprozesses und an der zweiten Phase des Ladeprozesses teilnehmen.

Konstruktoren

PersistenceParticipant()

Initialisiert eine Instanz der PersistenceParticipant-Klasse.

Methoden

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

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

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

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

Ein Host ruft diese Methode auf, nachdem das Erfassen der Werte in der ersten Phase abgeschlossen ist. Der Host leitet zwei schreibgeschützte Wörterbücher mit Werten weiter, die er während der ersten Phase (CollectValues-Phase) von allen Dauerhaftigkeitsteilnehmern dieser Methode für die Zuordnung erfasst hat. Der Host fügt Werte zum Wörterbuch hinzu, die von dieser Methode an die Auflistung lesegeschützter Werte zurückgegeben wurden.

MemberwiseClone()

Erstellt eine flache Kopie des 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 per LoadWorkflowCommand oder LoadWorkflowByInstanceKeyCommand) als Wörterbuchparameter.

ToString()

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

(Geerbt von Object)

Gilt für: