Nyelv

PersistenceParticipant Osztály

Definíció

Ez az osztály lehetővé teszi mind a mind WorkflowApplicationWorkflowServiceHost a két csoport számára, hogy részt vehessenek az adatmegőrzési folyamatban. A perzisztencia résztvevője az osztályból vagy az PersistenceParticipant osztályból (az PersistenceIOParticipantPersistenceParticipant osztály származtatott osztályából) származik, absztrakciós metódusokat implementál, majd munkafolyamat-példánybővítményként hozzáadja az osztály egy példányát. A WorkflowApplication példányok megőrzésekor és a megfelelő metódusok megfelelő időpontokban történő meghívásakor az ilyen bővítmények keresése és WorkflowServiceHost keresése.

public ref class PersistenceParticipant abstract
public abstract class PersistenceParticipant
type PersistenceParticipant = class
Public MustInherit Class PersistenceParticipant
Öröklődés
PersistenceParticipant
Származtatott

Példák

Az alábbi kódminta egy olyan osztály létrehozását mutatja be, amely a következőből PersistenceParticipantszármazik: Ez a példa a felvételi folyamat mintájából származik .

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

Megjegyzések

A gazdagép a következő lépéseket (vagy szakaszokat) hajtja végre egy példány megőrzésekor:

  1. Összegyűjti a megőrzendő értékeket.

  2. A monolitikus strukturált értékek mezőit az egyes értékekhez rendeli.

  3. A adatmegőrzési SaveWorkflowCommand szolgáltatónak ad ki problémát.

  4. Az I/O végrehajtása a perzisztencia-tranzakció alatt.

A gazdagép a következő szakasz megkezdése előtt befejez egy szakaszt. A gazdagép például a második fázisba lépés előtt összegyűjti az összes adatmegőrzési résztvevő értékeit. A második szakaszban a gazdagép biztosítja az első szakaszban összegyűjtött összes értéket a második szakasz összes adatmegőrzési résztvevőjének a leképezéshez. A harmadik szakaszban a gazdagép az első és a második fázisban összegyűjtött összes értéket biztosítja a adatmegőrzési szolgáltatónak a SaveWorkflowCommandrendszer meghívásakor. A negyedik szakaszban a gazdagép az összes összegyűjtött értéket biztosítja a perzisztencia-tranzakcióban részt vevők számára.

A gazdagép a következő szakaszokat hajtja végre egy adatmegőrzési példány betöltésekor:

  1. Az adatmegőrzési LoadWorkflowCommand szolgáltatót és LoadWorkflowByInstanceKeyCommand az adatmegőrzési szolgáltatót is problémákba bocsátja.

  2. Az I/O végrehajtása a perzisztencia-tranzakció alatt.

  3. Közzéteszi a betöltött értékeket.

A legmagasabb szinten az osztályból PersistenceParticipant származó munkafolyamat-példánybővítmények részt vehetnek a megőrzési folyamat első (Gyűjtési) és második (Térkép) fázisában, valamint a betöltési folyamat harmadik szakaszában (közzététel). A PersistenceIOParticipant osztályból származó munkafolyamat-példánybővítmények emellett részt vehetnek a megőrzési folyamat negyedik szakaszában és a betöltési folyamat második szakaszában (I/O).

Konstruktorok

Name Description
PersistenceParticipant()

Inicializálja az osztály egy példányát PersistenceParticipant .

Metódusok

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

A gazdagép meghívja ezt a metódust egy egyéni adatmegőrzési résztvevőre, hogy összegyűjtse a megőrzendő írásvédett és írásvédett értékeket.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MapValues(IDictionary<XName,Object>, IDictionary<XName,Object>)

A gazdagép meghívja ezt a metódust, miután az első szakaszban összegyűjtötte az értékeket. A gazdagép az első szakaszban (CollectValues szakasz) összegyűjtött értékek két írásvédett szótárát továbbítja a leképezési módszernek. A gazdagép a metódus által visszaadott szótárban lévő értékeket hozzáadja a csak írási értékek gyűjteményéhez.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
PublishValues(IDictionary<XName,Object>)

A gazdagép meghívja ezt a metódust, és szótárparaméterként átadja a InstanceData gyűjteményben lévő összes betöltött értéket (az vagy LoadWorkflowCommand) kitöltveLoadWorkflowByInstanceKeyCommand.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes: