PersistenceParticipant Classe

Definição

Esta aula permite tanto WorkflowApplication como WorkflowServiceHost participar no 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 depois adiciona uma instância da classe como extensão de instância de workflow. O WorkflowApplication e WorkflowServiceHost procura tais extensões ao persistir uma instância e invoca métodos apropriados nos 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 seguinte demonstra a criação de uma classe que deriva de PersistenceParticipant. Este exemplo é do exemplo do Processo de Contratação .

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

Observações

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

  1. Recolhe valores a serem mantidos.

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

  3. Questões para SaveWorkflowCommand o fornecedor de persistência.

  4. Executa I/O sob a transação de persistência.

Um apresentador completa uma fase antes de começar a seguinte. Por exemplo, ao persistir, o host recolhe valores de todos os participantes da persistência antes de passar para a segunda fase. Na segunda fase, o anfitrião fornece todos os valores recolhidos na primeira fase a todos os participantes da persistência na segunda fase para mapeamento. No terceiro estágio, o host fornece todos os valores recolhidos no primeiro e segundo estágios ao fornecedor de persistência ao invocar o SaveWorkflowCommand. Depois, na quarta etapa, o host fornece todos os valores recolhidos a todos os participantes da IO de persistência na transação de persistência.

Um host executa as seguintes fases ao carregar uma instância de persistência:

  1. Questões e LoadWorkflowCommandLoadWorkflowByInstanceKeyCommand para o fornecedor de persistência.

  2. Executa I/O sob a transação de persistência.

  3. Publica os valores carregados.

Ao mais alto nível, as extensões de instâncias de workflow derivadas da PersistenceParticipant classe podem participar nas primeiras (Recolher) e segunda (Mapa) fases do processo persistente e na terceira fase (Publicar) do processo de carregamento. Extensões de instâncias de workflow derivadas da classe PersistenceIOParticipant podem participar adicionalmente na quarta fase do processo persistente e na segunda fase do processo de carregamento (I/O).

Construtores

Name Description
PersistenceParticipant()

Inicializa uma instância da PersistenceParticipant classe.

Métodos

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

Um host invoca este método num participante de persistência personalizado para recolher valores de leitura-escrita e valores apenas de escrita, a serem persistidos.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de 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 este método depois de terminar a recolha dos valores na primeira fase. O anfitrião encaminha dois dicionários de apenas leitura dos valores que recolheu de todos os participantes da persistência durante a primeira fase (etapa CollectValues) para este método de mapeamento. O host adiciona valores no dicionário devolvidos por este método à coleção de valores apenas de escrita.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

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

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

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a