Partager via


PersistenceParticipant Classe

Définition

Cette classe permet à WorkflowApplication et WorkflowServiceHost de participer au processus de persistance. Un participant de persistance dérive de la classe PersistenceParticipant ou de la classe PersistenceIOParticipant (classe dérivée de la classe PersistenceParticipant), implémente des méthodes abstraites, puis ajoute une instance de la classe en tant qu'extension d'une instance de flux de travail. WorkflowApplication et WorkflowServiceHost recherchent ces extensions lors de la persistance d’une instance et appellent les méthodes appropriées aux moments opportuns.

public ref class PersistenceParticipant abstract
public abstract class PersistenceParticipant
type PersistenceParticipant = class
Public MustInherit Class PersistenceParticipant
Héritage
PersistenceParticipant
Dérivé

Exemples

L'exemple de code suivant montre comment créer une classe qui dérive de PersistenceParticipant. Cet exemple provient de l’exemple Processus d’embauche .

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

Remarques

Un hôte exécute les étapes suivantes lors de la persistance d'une instance :

  1. Recueille les valeurs à rendre persistantes.

  2. Mappe les champs de valeurs structurées monolithiques aux valeurs individuelles.

  3. Émet SaveWorkflowCommand sur le fournisseur de persistance.

  4. Effectue des E/S dans le cadre de la transaction de persistance.

Un hôte termine une étape avant de commencer la suivante. Par exemple lors de la persistance, l'hôte recueille des valeurs auprès de tous les participants de persistance avant de passer à la deuxième étape. Dans la deuxième étape, l'hôte fournit toutes les valeurs recueillies dans la première étape à tous les participants de persistance de la deuxième étape en vue de leur mappage. Dans la troisième étape, l'hôte fournit toutes les valeurs recueillies dans les première et deuxième étapes au fournisseur de persistance lors de l'appel à SaveWorkflowCommand. Enfin, dans la quatrième étape, l’hôte fournit toutes les valeurs recueillies à tous les participants d’E/S de persistance dans le cadre de la transaction de persistance.

Un hôte exécute les étapes suivantes lors du chargement d'une instance de persistance :

  1. Émet LoadWorkflowCommand et LoadWorkflowByInstanceKeyCommand sur le fournisseur de persistance.

  2. Effectue des E/S dans le cadre de la transaction de persistance.

  3. Publie les valeurs chargées.

Au niveau le plus élevé, les extensions d’instance de flux de travail qui dérivent de la classe PersistenceParticipant peuvent participer à la première et à la deuxième étape (respectivement, Recueillir et Mapper) du processus de persistance et à la troisième étape (Publier) du processus de chargement. Les extensions d’instance de flux de travail qui dérivent de la classe PersistenceIOParticipant peuvent également participer à la quatrième étape du processus de persistance et à la deuxième étape du processus de chargement (E/S).

Constructeurs

PersistenceParticipant()

Initialise une instance de la classe PersistenceParticipant.

Méthodes

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

Un hôte appelle cette méthode sur un participant de persistance personnalisé pour recueillir des valeurs en lecture-écriture et des valeurs en écriture seule à rendre persistantes.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MapValues(IDictionary<XName,Object>, IDictionary<XName,Object>)

Un hôte appelle cette méthode après avoir terminé la collecte des valeurs lors de la première étape. L'hôte transfère deux dictionnaires en lecture seule de valeurs recueillies auprès de tous les participants de persistance au cours de la première étape (CollectValues) à cette méthode en vue du mappage. L’hôte ajoute les valeurs du dictionnaire retournées par cette méthode à la collection de valeurs en écriture seule.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
PublishValues(IDictionary<XName,Object>)

L’hôte appelle cette méthode et passe toutes les valeurs chargées dans la collection InstanceData (remplie par LoadWorkflowCommand ou LoadWorkflowByInstanceKeyCommand) en tant que paramètre de dictionnaire.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à