PersistenceParticipant Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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):
Shromažďuje hodnoty, které se mají zachovat.
Mapuje pole monolitických strukturovaných hodnot na jednotlivé hodnoty.
SaveWorkflowCommand Vydá zprostředkovatele trvalosti.
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:
LoadWorkflowCommand Vydává zprostředkovatele trvalosti a LoadWorkflowByInstanceKeyCommand pro ho.
Provádí vstupně-výstupní operace v rámci transakce trvalosti.
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) |