NativeActivity-basklass

NativeActivity är en abstrakt klass med en skyddad konstruktor. Som CodeActivityanvänds NativeActivity för att skriva imperativt beteende genom att implementera en Execute metod. Till skillnad från CodeActivity har NativeActivity åtkomst till alla exponerade funktioner i arbetsflödeskörningen via NativeActivityContext-objektet som skickas till Execute-metoden.

Använda NativeActivityContext

Funktioner i arbetsflödesmiljön kan nås från inom Execute metoden genom att använda medlemmarna i parametern context, av typen NativeActivityContext. De funktioner som är tillgängliga via NativeActivityContext inkluderar följande:

Skapa en anpassad aktivitet som ärver från NativeActivity

  1. OpenVisual Studio 2010.

  2. Välj Arkiv, Nytt och sedan Projekt. Välj Arbetsflöde 4.0 under Visual C# i fönstret Projekttyper och välj noden v2010 . Välj Aktivitetsbibliotek i fönstret Mallar . Ge det nya projektet namnet HelloActivity.

  3. Högerklicka på Activity1.xaml i HelloActivity-projektet och välj Ta bort.

  4. Högerklicka på HelloActivity-projektet och välj Lägg till och sedan Klass. Ge den nya klassen namnet HelloActivity.cs.

  5. Lägg till följande using direktiv i filen HelloActivity.cs.

    using System.Activities;
    using System.Activities.Statements;
    
  6. Gör så att den nya klassen ärver från NativeActivity genom att lägga till en basklass i klassdeklarationen.

    class HelloActivity : NativeActivity
    
  7. Lägg till funktioner i klassen genom att lägga till en Execute metod.

    protected override void Execute(NativeActivityContext context)
    {
        Console.WriteLine("Hello World!");
    }
    
  8. CacheMetadata Åsidosätt metoden och anropa lämplig Lägg till-metod för att informera arbetsflödesmotorn om den anpassade aktivitetens variabler, argument, barn och delegater. Mer information finns i NativeActivityMetadata klassen .

  9. Använd objektet NativeActivityContext för att schemalägga ett bokmärke. För mer information om hur du skapar, schemalägger och återupptar ett bokmärke, se Bookmarks.

    protected override void Execute(NativeActivityContext context)
        {
            // Create a Bookmark and wait for it to be resumed.
            context.CreateBookmark(BookmarkName.Get(context),
                new BookmarkCallback(OnResumeBookmark));
        }