Ativação de instância
A instância Store de fluxo de trabalho do SQL executa uma tarefa periodicamente interna que acorde e detecte instâncias praticáveis ou activatable de fluxo de trabalho na base de dados de persistência. Se encontra uma instância viável de fluxo de trabalho, notifica o host de fluxo de trabalho que é capaz de ativar a instância. Se o armazenamento de instância encontra uma instância activatable de fluxo de trabalho, notifica um host genérico que ative um host de fluxo de trabalho, que executa por sua vez a instância de fluxo de trabalho. As seções neste tópico explica o processo de ativação de instância em detalhes.
Detectando e ativando instâncias praticáveis de fluxo de trabalho
A instância Store de fluxo de trabalho do SQL considera uma instância de fluxo de trabalho executável se a instância não está no estado suspensa ou no estado completo e satisfaz as seguintes circunstâncias:
A instância é desbloqueada e tem um timer pendente que expirou.
A instância tem um bloqueio expirado nele.
A instância é desbloqueada e seu status é Executando.
A instância Store de fluxo de trabalho do SQL aumenta HasRunnableWorkflowEvent quando encontra uma instância viável. Após isso, o SqlWorkflowInstanceStore para monitorar de TryLoadRunnableWorkflowCommand até que seja chamado uma vez no armazenamento.
Um host de fluxo de trabalho que assine para HasRunnableWorkflowEvent e capaz de carregar a instância executa TryLoadRunnableWorkflowCommand contra o armazenamento de instância para carregar a instância na memória. Um host de fluxo de trabalho está sendo capaz de carregar uma instância de fluxo de trabalho se o host e a instância têm a propriedade WorkflowServiceType de metadados definido para o mesmo valor.
Detectando e ativando instâncias de fluxo de trabalho de Activatable
Uma instância de fluxo de trabalho é considerada activatable se a instância é viável e não há host de fluxo de trabalho que é capaz de carregar a instância está sendo executado no computador. Consulte detectar e ativar instâncias praticáveis de fluxo de trabalho anterior para a definição de uma instância viável de fluxo de trabalho.
A instância Store de fluxo de trabalho do SQL aumenta HasActivatableWorkflowEvent quando encontra uma instância activatable de fluxo de trabalho na base de dados. Após isso, o SqlWorkflowInstanceStore para monitorar de QueryActivatableWorkflowsCommand até que seja chamado uma vez no armazenamento.
Quando um host genérico que assine para HasActivatableWorkflowEvent recebe o evento, executa QueryActivatableWorkflowsCommand contra o armazenamento de instância para obter os parâmetros de ativação necessários para criar um host de fluxo de trabalho. O host genérico usa esses parâmetros de ativação para criar um host de fluxo de trabalho, que por sua vez as carrega e as executa o serviço viável ouvinte como um exemplo.
Hosts genéricos
Um host genérico é um host com o valor da propriedade WorkflowServiceType de metadados para host genéricos é definido como WorkflowServiceType.Any para indicar que pode manipular qualquer tipo de fluxo de trabalho. Um host genérico tem um parâmetro de XName chamado ActivationType.
Atualmente, a instância Store de fluxo de trabalho do SQL oferece suporte host genéricos com valor do parâmetro de ActivationType definido como WAS. Se o ActivationType não é definido como WAS, a instância de fluxo de trabalho do SQL gerencie InstancePersistenceExceptionStore. O serviço de gerenciamento de fluxo de trabalho que acompanha é um host genérico que tem o tipo de ativação definido como WAS.
Para WAS ativação, um host genérico requer um conjunto de parâmetros de ativação derivar o endereço do ponto de extremidade em que os novos host podem ser ativados. Os parâmetros de ativação para ativação do WAS são nome do site, caminho relativo para o aplicativo ao site, e caminho para o serviço relativo para o aplicativo. A instância Store de fluxo de trabalho do SQL armazena esses parâmetros de ativação durante a execução de SaveWorkflowCommand.
Período viável de detecção de instâncias
A propriedade de Período viável de detecção de instâncias de instância Store de fluxo de trabalho do SQL especifica o período de tempo após o qual as sequências de Store de instância de fluxo de trabalho do SQL uma tarefa de detecção detectar qualquer fluxo de trabalho possível ou activatable instância como no exemplo base de dados de persistência após o ciclo de detecção anterior. Confira o Período de Detecção de Instâncias Executáveis para obter mais detalhes sobre essa propriedade.