Criação de atividade de fluxo de trabalho usando a classe de CodeActivity
As atividades criadas por herança de CodeActivity podem implementar o comportamento básico obrigatório substituindo o método de Execute .
Usando CodeActivityContext
Recursos de runtime de fluxo de trabalho podem ser acessados de dentro do método de Execute usando membros de parâmetro de context
, do tipo CodeActivityContext. Os recursos CodeActivityContext direto disponível incluem o seguinte:
Definindo e obtendo os valores das variáveis e os argumentos.
Recursos personalizados de rastreamento que usam Track.
Acesso às propriedades de execução da atividade usando GetProperty.
Para criar uma atividade personalizado que herda de CodeActivity
Abrir o Visual Studio 2010.
Selecione Arquivo, Novo e depois Projeto. Selecione Workflow 4.0 em Visual C# na janela Project Types e selecione o nó v2010. Selecione Biblioteca de atividades na janela de Modelos. Nomeie o novo projeto HelloActivity.
Clique com o botão direito do mouse em Activity1.xaml no projeto HelloActivity e selecione Excluir.
Clique com o botão direito do mouse no projeto HelloActivity e selecione Adicionar e depois Classe. Nomeie a nova classe HelloActivity.cs.
No arquivo de HelloActivity.cs, adicione as seguintes diretivas de
using
.using System.Activities; using System.Activities.Statements;
Faça a nova classe herdar de CodeActivity adicionando uma classe base para a declaração de classe.
class HelloActivity : CodeActivity
Adicionar funcionalidade à classe adicionando um método de Execute .
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); }
Use CodeActivityContext para criar um registro de rastreamento.
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); CustomTrackingRecord record = new CustomTrackingRecord("MyRecord"); record.Data.Add(new KeyValuePair<String, Object>("ExecutionTime", DateTime.Now)); context.Track(record); }