Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
NativeActivity è una classe astratta con un costruttore protetto. Come CodeActivity, NativeActivity viene usato per scrivere un comportamento imperativo implementando un Execute metodo . A differenza di CodeActivity, NativeActivity ha accesso a tutte le funzionalità esposte del runtime del flusso di lavoro tramite l'oggetto NativeActivityContext passato al Execute metodo .
Uso di NativeActivityContext
È possibile accedere alle funzionalità del runtime del flusso di lavoro dall'interno del Execute metodo usando i membri del context parametro , di tipo NativeActivityContext. Le funzionalità disponibili tramite NativeActivityContext includono quanto segue:
Acquisizione e impostazione di argomenti e variabili.
Pianificazione delle attività bambini con ScheduleActivity
Interrompere l'esecuzione dell'attività tramite Abort.
Annullamento dell'esecuzione figlio tramite CancelChild e CancelChildren.
Accesso ai segnalibri di attività usando metodi come CreateBookmark, RemoveBookmarke ResumeBookmark.
Funzionalità di rilevamento personalizzate che usano Track.
Accesso alle proprietà di esecuzione e ai valori dell'attività usando GetProperty e GetValue.
Pianificazione di azioni e funzioni di attività tramite ScheduleAction e ScheduleFunc.
Per creare un'attività personalizzata che eredita da NativeActivity
OpenVisual Studio 2010.
Selezionare File, Nuovo e quindi Progetto. Selezionare Flusso di lavoro 4.0 in Visual C# nella finestra Tipi di progetto e selezionare il nodo v2010 . Selezionare Libreria attività nella finestra Modelli . Assegnare al nuovo progetto il nome HelloActivity.
Fare clic con il pulsante destro del mouse su Activity1.xaml nel progetto HelloActivity e scegliere Elimina.
Fare clic con il pulsante destro del mouse sul progetto HelloActivity e scegliere Aggiungi e quindi Classe. Assegnare alla nuova classe il nome HelloActivity.cs.
Nel file HelloActivity.cs aggiungere le direttive seguenti
using.using System.Activities; using System.Activities.Statements;Fare in modo che la nuova classe erediti da NativeActivity aggiungendo una classe base alla dichiarazione di classe.
class HelloActivity : NativeActivityAggiungere funzionalità alla classe aggiungendo un Execute metodo .
protected override void Execute(NativeActivityContext context) { Console.WriteLine("Hello World!"); }Eseguire l'override del CacheMetadata metodo e chiamare il metodo Add appropriato per informare il runtime del flusso di lavoro sulle variabili, gli argomenti, gli elementi figlio e i delegati dell'attività personalizzata. Per altre informazioni, vedere la NativeActivityMetadata classe .
Utilizzare l'oggetto NativeActivityContext per pianificare un segnalibro. Vedere Bookmarks per informazioni dettagliate su come creare, pianificare e riprendere un segnalibro.
protected override void Execute(NativeActivityContext context) { // Create a Bookmark and wait for it to be resumed. context.CreateBookmark(BookmarkName.Get(context), new BookmarkCallback(OnResumeBookmark)); }