Compartilhar via


PersistenceParticipant Classe

Definição

Essa classe permite que ambos WorkflowApplication e WorkflowServiceHost participem no processo de persistência. Um participante de persistência deriva da classe PersistenceParticipant ou PersistenceIOParticipant (classe derivada da classe PersistenceParticipant), implementa métodos abstratos e adiciona uma instância da classe como uma extensão da instância do fluxo de trabalho. O WorkflowApplication e WorkflowServiceHost procuram por tais extensões ao persistirem uma instância e invocarem os métodos apropriados em momentos apropriados.

public ref class PersistenceParticipant abstract
public abstract class PersistenceParticipant
type PersistenceParticipant = class
Public MustInherit Class PersistenceParticipant
Herança
PersistenceParticipant
Derivado

Exemplos

O exemplo de código a seguir demonstra a criação de uma classe derivada de PersistenceParticipant. Este exemplo é do exemplo processo de contratação .

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

Comentários

Um host executa as seguintes etapas (ou estágios) ao persistir uma instância:

  1. Coleta valores a serem persistidos.

  2. Mapeia campos de valores estruturados monolíticos para valores individuais.

  3. Emite o SaveWorkflowCommand provedor de persistência.

  4. Executa E/S na transação de persistência.

Um host conclui um estágio antes de iniciar a próxima fase. Por exemplo, ao persistir, o host coleta valores de todos os participantes de persistência antes de passar para o segundo estágio. No segundo estágio, o host fornece todos os valores coletados no primeiro estágio para todos os participantes de persistência no segundo estágio para mapeamento. No terceiro estágio, o host fornece todos os valores coletados no primeiro e segundo estágios para o provedor de persistência ao invocar o SaveWorkflowCommand. Em seguida, no quarto estágio, o host fornece todos os valores coletados para todos os participantes de E/S de persistência na transação de persistência.

Um host executa os seguintes estágios ao carregar uma instância de persistência:

  1. Emite e LoadWorkflowCommand LoadWorkflowByInstanceKeyCommand para o provedor de persistência.

  2. Executa E/S na transação de persistência.

  3. Publica os valores carregados.

No nível mais alto, as extensões de instância de fluxo de trabalho derivadas da PersistenceParticipant classe podem participar das etapas primeiro (Coletar) e segunda (Mapa) do processo de persistência e do terceiro estágio (Publicação) do processo de carregamento. As extensões de instância de fluxo de trabalho derivadas da classe PersistenceIOParticipant também podem participar do quarto estágio do processo de persistência e do segundo estágio do processo de carregamento (E/S).

Construtores

PersistenceParticipant()

Inicializa uma instância da classe PersistenceParticipant.

Métodos

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

Um host invoca esse método em um participante de persistência personalizado para coletar valores de leitura/gravação e valores somente gravação a serem persistidos.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MapValues(IDictionary<XName,Object>, IDictionary<XName,Object>)

Um host invoca este método depois de concluir a coleta de valores no primeiro estágio. O host encaminha dois dicionários somente leitura dos valores que coletou de todos os participantes da persistência durante o primeiro estágio (estágio CollectValues) a este método para mapeamento. O host adiciona os valores contidos no dicionário retornado por esse método à coleção de valores somente gravação.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
PublishValues(IDictionary<XName,Object>)

O host invoca esse método e passa todos os valores carregados na coleção InstanceData (preenchidos pelo LoadWorkflowCommand ou LoadWorkflowByInstanceKeyCommand) como um parâmetro de dicionário.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a