NativeActivity-basisklasse
NativeActivity is een abstracte klasse met een beveiligde constructor. Net als CodeActivitywordt NativeActivity gebruikt voor het schrijven van imperatief gedrag door een Execute methode te implementeren. In tegenstelling tot CodeActivity, NativeActivity heeft toegang tot alle blootgestelde functies van de werkstroomruntime via het NativeActivityContext object dat aan de Execute methode is doorgegeven.
NativeActivityContext gebruiken
Functies van de werkstroomruntime kunnen worden geopend vanuit de Execute methode met behulp van leden van de parameter van het context
type NativeActivityContext. De functies die beschikbaar zijn via NativeActivityContext :
Argumenten en variabelen verkrijgen en instellen.
Onderliggende activiteiten plannen met ScheduleActivity
Uitvoering van activiteit afbreken met behulp van Abort.
Onderliggende uitvoering annuleren met behulp van CancelChild en CancelChildren.
Toegang tot bladwijzers voor activiteiten met behulp van methoden zoals CreateBookmark, RemoveBookmarken ResumeBookmark.
Aangepaste traceringsfuncties met behulp van Track.
Toegang tot de uitvoeringseigenschappen en waarde-eigenschappen van de activiteit met behulp van GetProperty en GetValue.
Activiteitenacties en functies plannen met behulp van ScheduleAction en ScheduleFunc.
Een aangepaste activiteit maken die wordt overgenomen van NativeActivity
OpenVisual Studio 2010.
Selecteer Bestand, Nieuw en vervolgens Project. Selecteer Workflow 4.0 onder Visual C# in het venster Projecttypen en selecteer het knooppunt v2010 . Selecteer Activiteitsbibliotheek in het venster Sjablonen. Geef het nieuwe project de naam HelloActivity.
Klik met de rechtermuisknop op Activity1.xaml in het HelloActivity-project en selecteer Verwijderen.
Klik met de rechtermuisknop op het HelloActivity-project en selecteer Toevoegen en vervolgens Klasse. Geef de nieuwe klasse een naam HelloActivity.cs.
Voeg in het bestand HelloActivity.cs de volgende
using
instructies toe.using System.Activities; using System.Activities.Statements;
De nieuwe klasse overnemen door NativeActivity een basisklasse toe te voegen aan de klassedeclaratie.
class HelloActivity : NativeActivity
Voeg functionaliteit toe aan de klasse door een Execute methode toe te voegen.
protected override void Execute(NativeActivityContext context) { Console.WriteLine("Hello World!"); }
Overschrijf de CacheMetadata methode en roep de juiste add-methode aan om de werkstroomruntime op de hoogte te stellen van de variabelen, argumenten, onderliggende elementen en gemachtigden van de aangepaste activiteit. Zie de NativeActivityMetadata klas voor meer informatie.
Gebruik het NativeActivityContext object om een bladwijzer te plannen. Zie Bookmarks voor meer informatie over het maken, plannen en hervatten van een bladwijzer.
protected override void Execute(NativeActivityContext context) { // Create a Bookmark and wait for it to be resumed. context.CreateBookmark(BookmarkName.Get(context), new BookmarkCallback(OnResumeBookmark)); }