PersistenceParticipant Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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:
Coleta valores a serem persistidos.
Mapeia campos de valores estruturados monolíticos para valores individuais.
Emite o SaveWorkflowCommand provedor de persistência.
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:
Emite e LoadWorkflowCommand LoadWorkflowByInstanceKeyCommand para o provedor de persistência.
Executa E/S na transação de persistência.
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) |