Sdílet prostřednictvím


PersistenceParticipant Třída

Definice

Tato třída umožňuje a WorkflowApplicationWorkflowServiceHost účastnit se procesu trvalosti. Účastník trvalosti je odvozen z PersistenceParticipant třídy nebo PersistenceIOParticipant třídy (odvozená třída PersistenceParticipant třídy), implementuje abstraktní metody a pak přidá instanci třídy jako rozšíření instance pracovního postupu. Při WorkflowApplication zachování instance a při vyvolání odpovídajících metod ve WorkflowServiceHost vhodných časech vyhledejte taková rozšíření.

public ref class PersistenceParticipant abstract
public abstract class PersistenceParticipant
type PersistenceParticipant = class
Public MustInherit Class PersistenceParticipant
Dědičnost
PersistenceParticipant
Odvozené

Příklady

Následující ukázka kódu ukazuje vytvoření třídy, která je odvozena z PersistenceParticipant. Tento příklad je z ukázky náborového procesu .

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

Poznámky

Hostitel při zachování instance provede následující kroky (nebo fáze):

  1. Shromažďuje hodnoty, které se mají zachovat.

  2. Mapuje pole monolitických strukturovaných hodnot na jednotlivé hodnoty.

  3. Vydá zprostředkovateli SaveWorkflowCommand trvalosti.

  4. Provádí vstupně-výstupní operace v rámci transakce trvalosti.

Hostitel dokončí fázi před zahájením další fáze. Například při zachování hostitel shromažďuje hodnoty ze všech účastníků trvalosti před přechodem do druhé fáze. Ve druhé fázi hostitel poskytne všechny hodnoty shromážděné v první fázi všem účastníkům trvalosti ve druhé fázi pro mapování. Ve třetí fázi hostitel poskytne všechny shromážděné hodnoty v první a druhé fázi zprostředkovateli trvalosti při vyvolání SaveWorkflowCommand. Ve čtvrté fázi pak hostitel poskytne všechny shromážděné hodnoty všem účastníkům vstupně-výstupních operací trvalosti v rámci transakce trvalosti.

Hostitel provede při načítání instance trvalosti následující fáze:

  1. Vydá zprostředkovateli LoadWorkflowCommand trvalosti a LoadWorkflowByInstanceKeyCommand .

  2. Provádí vstupně-výstupní operace v rámci transakce trvalosti.

  3. Publikuje načtené hodnoty.

Na nejvyšší úrovni se rozšíření instance pracovního postupu, která jsou odvozená z PersistenceParticipant třídy, mohou účastnit první (Collect) a druhé (mapové) fáze trvalého procesu a třetí fáze (Publish) procesu načítání. Rozšíření instance pracovního postupu odvozená z třídy PersistenceIOParticipant se mohou navíc účastnit čtvrté fáze trvalého procesu a druhé fáze procesu načítání (V/O).

Konstruktory

PersistenceParticipant()

Inicializuje instanci třídy PersistenceParticipant.

Metody

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

Hostitel vyvolá tuto metodu u vlastního účastníka trvalosti, aby shromáždil hodnoty pro čtení a zápis a hodnoty jen pro zápis, které se mají zachovat.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MapValues(IDictionary<XName,Object>, IDictionary<XName,Object>)

Hostitel vyvolá tuto metodu po dokončení shromažďování hodnot v první fázi. Hostitel předává do této metody mapování dva slovníky hodnot jen pro čtení, které shromáždil od všech účastníků trvalosti během první fáze (fáze CollectValues). Hostitel přidá hodnoty ve slovníku vrácené touto metodou do kolekce hodnot jen pro zápis.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
PublishValues(IDictionary<XName,Object>)

Hostitel vyvolá tuto metodu a předá všechny načtené hodnoty v InstanceData kolekci LoadWorkflowCommandLoadWorkflowByInstanceKeyCommand(vyplněné nebo ) jako parametr slovníku.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro