PersistenceParticipant Classe

Definição

Essa classe permite e WorkflowApplicationWorkflowServiceHost participa do processo de persistência. Um participante de persistência deriva da PersistenceParticipant classe ou da PersistenceIOParticipant classe (classe derivada da PersistenceParticipant classe), implementa métodos abstratos e, em seguida, adiciona uma instância da classe como uma extensão de instância de fluxo de trabalho. WorkflowServiceHost Procure WorkflowApplication essas extensões ao persistir uma instância e invocar 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 que deriva 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 o próximo estágio. 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 o LoadWorkflowCommand provedor de persistência e o e 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 que derivam da PersistenceParticipant classe podem participar dos estágios primeiro (Coletar) e segundo (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

Nome Description
PersistenceParticipant()

Inicializa uma instância da PersistenceParticipant classe.

Métodos

Nome Description
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 hash predefinida.

(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 esse método depois que ele é feito com a coleta dos valores no primeiro estágio. O host encaminha dois dicionários somente leitura de valores coletados de todos os participantes de persistência durante o primeiro estágio (estágio CollectValues) para esse método de mapeamento. O host adiciona valores no dicionário retornado por esse método à coleção de valores somente gravação.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

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

O host invoca esse método e passa todos os valores carregados na InstanceData coleção (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