Nicolas Tarzia

.Net developer!

My Links

Blog Stats

News

Desenvolvedor .Net

Archives

Post Categories

Image Galleries

Blogs

Link's

Pessoal

Profissional

Login

Friday, July 20, 2007

WorkFlow, entendendo um pouco como funciona

Já vi vários lugares que mostram o que é WorkFlow, porém achei poucos com informações de como ele se comporta, portanto para quem ainda não conhece ou ainda não mecheu, eu colocando algumas coisas aqui:

Parte 1- Criando um novo Projeto Workflow

Vamos criar agora um projeto Workflow, para um maior entendimento de todos.

Passos

  • Abra o Visual Studio 2005
  • No Visual Studio 2005 selecione Arquivo > Novo > Projeto.
  • Visual Studio 2005 will display the New Project dialog window.
  • Na caixa de dialogo do novo projeto, selecione Projetos do Visual C# > WorkFlow
  • Selecione pelo nome “Aplicação Console WorkFlow Sequencial” e coloque os seguintes valores:

Nome:   HelloWorldWorkflow

Localização:  …(root)\work\wf\before

  • Agora você tem uma nova solução e um Projeto WorkFlow
  • Por default do projeto, existe o arquivo WorkFlow1.cs, sera removido para criarmos um novo desde o 0.
  • Clique com o botão direito no Projeto HelloWorldWorkFlow, e Adicione um novo item.
  • Na caixa de dialogo Adicione um novo item, selecione pelo nome WorkFlow Sequencial ( sendo que o código irá ficar separado ) e adicione o seu workflow.  

 

  • O novo projeto WorkFlow sequencial  agora contém dois arquivos novos:  Workflow1.xoml and Workflow1.xoml.csWorkflow1.xoml contém toda a marcação XML que representa o tipo do WorkFlow.  Workflow1.xoml.cs contém o código da classe que representa o workflow. 




Parte 2- Adicionando uma atividade de código

Steps

  • Abra o arquivo WorkFlow1.xoml onde sera exibido no modo designer.
  • No designer do WorkFlow, selecione View | Toolbox
  • Você vai precisar expandir as categorias de Atividades do Windows Workflow Foundation na toolbox.
  • Selecione a atividade Code na toolbox.  
  • Arraste a atividae Code na area Sequencial do Workflow.  

·         Irá aparecer uma exclamação dizendo que existe uma propriedade do Code que não está correta.

  • Selecione a Smart tag que existe uma propriedade que está inválida, a ExecuteCode e a propriedade será selecionada. 
  • Entre com o valor codeActivity1_CodeHandler no campo da propriedade ExecuteCode   e pressione ENTER.
  • Isso causará um novo método ou handler  que sera adicionado no código do arquivo WorkFlow1.xoml.cs.  O Visual studio automaticamente abrirá o arquivo Workflow1.xoml.cs e mostrará o método codeActivity1_CodeHandler. 
  • O Classe gerada é uma extensão da classe SequentialWorkFlowActivity.  A Classe do código contém o mesmo nome do Workflow. Você deve estar com a sua classe parecida com esta:

  • Insira o seguinte código no método codeActivity1_CodeHandler  para retornar a string “Hello Y'all!” no console:

     

  • Selecione no menu de commandos Build | Build Solution. Verifique se não existe nenhum erro ou warning de compilação.

Parte 3- Rodando um novo WorkFlow com opção de debug

Para este exercício nós precisaremos configurar o host no arquivo program.cs  que vem junto com o projeto inicial. Uma alternativa, você pode executar o build da aplicação usando uma API da namespace System.WorkFlow.Runtime, que já está referenciada no seu código.

Passos

  • Abra o visual studio e dê um duplo-clique no arquivo Workflow1.xoml no solution explorer. 
  • Clica no objeto codeActivity1 e insira um breakpoint.
  • Para adicionar um breakpoint, pressione com o botão direito no codeActivity1 e escolha Breakpoint | Insert Breakpoint.
  • Você vai ver uma imagem como esta:

  • Compile e rode sua aplicação em modo debug.

·         Você verá que o Console sera iniciado e que a instancia do workflow sera pausada na atividade que você colocou o breakpoint, a marcação em amarelo indica a atividade que o debugger parou.

  • Escolha Debug | Step Into(F10) no menu e você verá o código fonte sendo executado, como os breakpoints que inserimos nos nossos dia-a-dia.

  • Escolha novamente Debug | Step Into(F10) mais um pouco de vezes e você verá a mensagem “Hello, Y'All” no console de quem está executando a aplicação, no caso o host.
  • Este workflow está completo e o programa está encerrado.

posted @ 4:44 AM | Feedback (0)