Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
NativeActivity é uma classe abstrata com um construtor protegido. Como CodeActivity, NativeActivity é usado para escrever o comportamento imperativo implementando um Execute método. Ao contrário de CodeActivity, NativeActivity tem acesso a todos os recursos expostos do runtime do fluxo de trabalho por meio do objeto NativeActivityContext passado para o método Execute.
Usando NativeActivityContext
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 NativeActivityContext. Os recursos disponíveis através de NativeActivityContext incluem o seguinte:
Obtendo e definindo argumentos e variáveis.
Agendando atividades para o filho com ScheduleActivity
Anulando a execução da atividade usando Abort.
Cancelando a execução filho usando CancelChild e CancelChildren.
Acesso aos indicadores de atividade usando métodos como CreateBookmark, RemoveBookmark, e ResumeBookmark.
Recursos de acompanhamento personalizados usando Track.
Acesso às propriedades de execução da atividade e às propriedades de valor usando GetProperty e GetValue.
Agendando ações e funções de atividade usando ScheduleAction e ScheduleFunc.
Para criar uma atividade personalizada que herda de NativeActivity
OpenVisual Studio 2010.
Selecione Arquivo, Novo e, em seguida, Projeto. Selecione Fluxo de Trabalho 4.0 no Visual C# na janela Tipos de Projeto 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, em seguida, Classe. Nomeie a nova classe HelloActivity.cs.
No arquivo HelloActivity.cs, adicione as seguintes
usingdiretivas.using System.Activities; using System.Activities.Statements;Faça a nova classe herdar de NativeActivity ao adicionar uma classe base à declaração da classe.
class HelloActivity : NativeActivityAdicione funcionalidade à classe adicionando um Execute método.
protected override void Execute(NativeActivityContext context) { Console.WriteLine("Hello World!"); }Substitua o método de CacheMetadata e chamar o método apropriado no para permitir que o runtime de fluxo de trabalho aprender sobre variáveis personalizados, os argumentos, os filhos, e os representantes de atividade. Para obter mais informações, consulte a NativeActivityMetadata classe.
Use o objeto NativeActivityContext para agendar um marcador. Consulte Bookmarks para obter detalhes sobre como criar, agendar, e retomar um indexador.
protected override void Execute(NativeActivityContext context) { // Create a Bookmark and wait for it to be resumed. context.CreateBookmark(BookmarkName.Get(context), new BookmarkCallback(OnResumeBookmark)); }