locked
Como recuperar o WorkflowInstanceID persistido no SQL? RRS feed

  • Pergunta

  • Bom dia Amigos,

     

    Assisti alguns WebCasts sobre WF e estamos implementando em nosso projeto. Minha dúvida é a seguinte:

     

    Tenho uma aplicação ASP.NET como Host já com o serviço de persistência funcionando direitinho. Tenho o método abaixo que Invoca o Workflow e armazena o ID em uma Sessão:

     

    private void InvocaWorkflow()

    {

    Type WorkflowType = typeof(CotaWorkflows.CotaWorkflow);

     

    WorkflowInstance instance =

    WorkflowRuntimeWrapper.Runtime.CreateWorkflow(WorkflowType);

          instance.Start();

            WorkflowRuntimeWrapper.SchedulerService.RunWorkflow(instance.InstanceId);

           

          Session.Add("WorkflowInstanceID", instance.InstanceId);

    }

     

    A partir daí executo alguns eventos que vai mudando o Estado do Workflow, porém o usuário pode aprovar um Pedido só daqui 10 dias, como está persistido não tem problema algum.

     

    O problema é como recuperar o InstanceID da base e atribuir a minha Session[“WorkflowInstanceID”], posteriormente.

     

    Conto com ajuda de todos.

     

    sexta-feira, 7 de março de 2008 13:04

Respostas

  • Oi Fábio,

     

    Sim isso é transparente, não precisa se preocupar.

     

    []s

     

    sábado, 8 de março de 2008 23:44

Todas as Respostas

  • Olá Fábio,

     

    Acredito que a melhor maneira seja você vincular o Guid do Workflow (que vc obtém qnd cria a instância) ao seu objeto de negócio. Dessa maneira qnd vc for tratar da aprovação de um Pedido especifico, vc terá o Guid da instância do workflow.

     

    Espero que ajude.

     

    sexta-feira, 7 de março de 2008 15:29
  • Obrigado Daniel,

     

    Só tenho mais uma dúvida: Nossos servidores que armazenaram os WorkflowInstanceID estão em Cluster. Tenho que fazer algum tratamento para isso ou para o WF é transparente e não preciso me preocupar?

     

    sexta-feira, 7 de março de 2008 17:22
  • Oi Fábio,

     

    Sim isso é transparente, não precisa se preocupar.

     

    []s

     

    sábado, 8 de março de 2008 23:44
  • Boa Tarde Daniel,

     

    Eu consigo vincular meu Guid do Workflow ao meu objeto de negócio usando o recurso de Correlation??? Se sim, você tem algum exemplo ou fonte de estudo. Procurei algumas coisas na net, mas ainda estou um pouco confuso. Obrigado.

    terça-feira, 11 de março de 2008 18:08
  • Fábio,


    Sim, você pode usar Correlation.

     

    Tem um exemplo legal em:

    http://www.codeproject.com/KB/cs/wfstatemachineaspnet.aspx

     

    []s

     

     

    terça-feira, 11 de março de 2008 18:43