Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
NativeActivity é uma classe abstrata com um construtor protegido. Como CodeActivity, NativeActivity é usado para escrever comportamento imperativo implementando um Execute método. Ao contrário de CodeActivity, NativeActivity tem acesso a todos os recursos expostos do tempo de execução do fluxo de trabalho através do objeto NativeActivityContext passado para o método Execute.
Usando NativeActivityContext
Os recursos do tempo de execução do fluxo de trabalho podem ser acessados dentro do método Execute usando membros do parâmetro context, do tipo NativeActivityContext. Os recursos disponíveis através de NativeActivityContext incluem o seguinte:
Obtenção e definição de argumentos e variáveis.
Agendar atividades infantis com ScheduleActivity
Abortando a execução da atividade usando Abort.
Cancelando a execução filho usando CancelChild e CancelChildren.
Acesso a marcadores de atividade usando métodos como CreateBookmark, RemoveBookmarke ResumeBookmark.
Recursos de rastreamento personalizados usando Track.
Acesso às propriedades de execução da atividade e às propriedades de valor usando GetProperty e GetValue.
Agendamento de atividades e funções usando ScheduleAction e ScheduleFunc.
Para criar uma atividade personalizada que herda de NativeActivity
OpenVisual Studio 2010.
Selecione Arquivo, Novo e, em seguida, Projeto. Selecione Workflow 4.0 em Visual C# na janela Tipos de Projeto e selecione o nó v2010. Selecione Biblioteca de atividades na janela Modelos . Nomeie o novo projeto como 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 adicionando 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 CacheMetadata e chame o método Add apropriado para que o tempo de execução conheça as variáveis, argumentos, filhos e delegados da atividade personalizada. Para obter mais informações, consulte a NativeActivityMetadata classe.
Use o NativeActivityContext objeto para agendar um marcador. Consulte Bookmarks para obter detalhes sobre como criar, agendar e retomar um marcador.
protected override void Execute(NativeActivityContext context) { // Create a Bookmark and wait for it to be resumed. context.CreateBookmark(BookmarkName.Get(context), new BookmarkCallback(OnResumeBookmark)); }