Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktivitäten, die durch das Erben von CodeActivity erstellt werden, können das grundlegende imperative Verhalten implementieren, indem sie die Execute-Methode überschreiben.
Verwenden von CodeActivityContext
Auf Features der Workflow-Laufzeit kann innerhalb der Execute-Methode mithilfe von Membern des context-Parameters vom Typ CodeActivityContext zugegriffen werden. Die verfügbaren CodeActivityContext Features umfassen Folgendes:
Abrufen und Festlegen der Werte von Variablen und Argumenten.
Benutzerdefinierte Tracking-Funktionen mit Track.
Zugriff auf die Ausführungseigenschaften der Aktivität mithilfe von GetProperty.
So erstellen Sie eine benutzerdefinierte Aktivität, die von CodeActivity erbt
Öffnen Sie Visual Studio 2010.
Wählen Sie "Datei", "Neu" und dann "Projekt" aus. Wählen Sie "Workflow 4.0" unter Visual C# im Fenster "Projekttypen " und dann den Knoten "v2010 " aus. Wählen Sie im Vorlagenfenster "Aktivitätsbibliothek" aus. Geben Sie dem neuen Projekt "HelloActivity" einen Namen.
Klicken Sie im HelloActivity-Projekt mit der rechten Maustaste auf "Activity1.xaml", und wählen Sie "Löschen" aus.
Klicken Sie mit der rechten Maustaste auf das HelloActivity-Projekt, und wählen Sie "Hinzufügen" und dann "Klasse" aus. Benennen Sie die neue Klasse HelloActivity.cs.
Fügen Sie in der datei HelloActivity.cs die folgenden
usingDirektiven hinzu.using System.Activities; using System.Activities.Statements;Lassen Sie die neue Klasse von CodeActivity erben, indem Sie der Klassendeklaration eine Basisklasse hinzufügen.
class HelloActivity : CodeActivityFügen Sie der Klasse Funktionen hinzu, indem Sie eine Execute Methode hinzufügen.
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); }Verwenden Sie die CodeActivityContext-Instanz, um einen Nachverfolgungsdatensatz zu erstellen.
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); CustomTrackingRecord record = new CustomTrackingRecord("MyRecord"); record.Data.Add(new KeyValuePair<String, Object>("ExecutionTime", DateTime.Now)); context.Track(record); }