PersistenceParticipant Třída

Definice

Tato třída umožňuje a WorkflowApplicationWorkflowServiceHost účastnit se procesu trvalosti. Účastník trvalosti je odvozen od 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. WorkflowApplication Tato rozšíření vyhledejte WorkflowServiceHost při zachování instance a vyvolání vhodných metod v odpovídajících časech.

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 pochází z ukázky procesu náboru .

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

Poznámky

Hostitel provede při zachování instance 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. SaveWorkflowCommand Vydá zprostředkovatele 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í shromažďuje hostitel hodnoty od všech účastníků trvalosti před přechodem do druhé fáze. Ve druhé fázi hostitel poskytuje 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 poskytuje všechny shromážděné hodnoty v první a druhé fázi poskytovateli trvalosti při vyvolání SaveWorkflowCommand. Ve čtvrté fázi pak hostitel poskytuje všechny shromážděné hodnoty všem účastníkům trvalosti vstupně-výstupních operací v rámci transakce trvalosti.

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

  1. LoadWorkflowCommand Vydává zprostředkovatele trvalosti a LoadWorkflowByInstanceKeyCommand pro ho.

  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 odvozená z PersistenceParticipant třídy mohou účastnit první fáze (Collect) a druhé fáze (Map) trvalých procesů a třetí fáze (Publikovat) procesu načítání. Rozšíření instance pracovního postupu odvozená z PersistenceIOParticipant třídy mohou navíc účastnit čtvrté fáze trvalý proces a druhá fáze procesu načítání (I/O).

Konstruktory

Name Description
PersistenceParticipant()

Inicializuje instanci PersistenceParticipant třídy.

Metody

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

Hostitel vyvolá tuto metodu u vlastního účastníka trvalosti, aby shromáždil hodnoty jen pro čtení a zápis, aby byly zachovány.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

(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á dva slovníky hodnot jen pro čtení, které shromáždil od všech účastníků trvalosti během první fáze (CollectValues fáze) do této metody pro mapování. 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 Object.

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

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

ToString()

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

(Zděděno od Object)

Platí pro