Verwenden der PolicyActivity-Aktivität
Sie können die PolicyActivity-Aktivität verwenden, um eine Auflistung von Regeln darzustellen. Eine Regel besteht aus Bedingungen und daraus resultierenden Aktionen. Eine Regel kann man sich als IF-THEN-ELSE-Anweisung vorstellen, in der die Bedingung IF entspricht, und in der mit den Aktionen das Verhalten der THEN-Klausel und der ELSE-Klausel definiert wird.
Mit einer Aktion können folgende Schritte ausgeführt werden:
Legen Sie ein Feld oder eine Eigenschaft in einem Workflow fest.
Rufen Sie eine Methode in einem Workflow oder Objekte in einem Workflow auf.
Rufen Sie statische Methoden in Typen auf, auf die in Assemblys verwiesen wird.
Führen Sie eine Halt-Anweisung oder eine Update-Anweisung aus.
Regelsatzbedingungen und Aktionen
Sie erstellen Ausdrücke für Regelsatzbedingungen und eine Then-Aktion sowie eine Else-Aktion. Weitere Informationen zu Bedingungen finden Sie unter Verwenden der Bedingungen in Workflows.
Bedingungen unterstützen dieselben Ausdruckoperatoren wie Aktionen, abgesehen davon, dass der "="-Operator für Zuweisungen und nicht für das Kennzeichnen von Gleichheit verwendet wird.
Halt und Update
Sie können auch die Halt-Funktion und die Update-Funktion in Ausdrücken verwenden, die mit Aktionen verwendet werden. Die Halt-Aktion bewirkt das sofortige Anhalten der Regelsatzausführung und gibt die Steuerung an den aufrufenden Code zurück. Sie verwenden die Update-Funktion mit Vorwärtsverkettung. Weitere Informationen zur Verwendung von Update mit Vorwärtsverkettung finden Sie im weiteren Verlauf dieses Themas im Abschnitt "Explizite Vorwärtsverkettung".
PolicyActivity-Klasse und RuleSet-Klasse
Um eine PolicyActivity-Aktivität in einem Workflow zu verwenden, fügen Sie dem Workflowcode eine PolicyActivity-Klasse hinzu. Konfigurieren Sie anschließend die RuleSetReference-Eigenschaft in der PolicyActivity, um nach Name auf einen RuleSet in RuleSetCollection zu verweisen. Mit der PolicyActivity-Aktivität wird eine Instanz der RuleSet-Klasse erstellt; es handelt sich um die RuleSet-Klasse, die die Regeln ausführt. Die PolicyActivity-Aktivität enthält die Eigenschaften, auf denen die Regeln ausgeführt werden. Wenn die Bedingung einer Regel true ergibt, werden die Then-Aktionen ausgeführt. Ergibt die Bedingung false, werden die Else-Aktionen ausgeführt.
Jede Regel verfügt über eine Priority-Eigenschaft, die die Reihenfolge bestimmt, in der die Regeln ausgewertet und die Aktionen ausgeführt werden. Die Regeln werden von der Windows Workflow Foundation-Regelauswertung individuell ausgewertet. Die Aktionen der Regel werden basierend auf den Ergebnissen der Bedingungsauswertung der Regel ausgeführt. Regeln mit höherer Priorität werden vor den Regeln mit niedrigerer Priorität ausgeführt; Regeln mit derselben Priorität werden in alphabetischer Reihenfolge nach Regelname ausgeführt. Prioritäten können sowohl positiv als auch negativ sein. Die Standardpriorität für eine Regel ist 0 (null). Weitere Informationen zur Priorität von Regeln innerhalb von RuleSet finden Sie unter Regelauswertung in RuleSets und Prioritätsbasierte Ausführung von RuleSets
Jede Regel verfügt über eine Rule Active-Eigenschaft, mit der bestimmt wird, ob die Regel ausgewertet werden sollte.
Siehe auch
Referenz
PolicyActivity
Rule
RuleSet
RuleSetCollection
RuleAttributeTarget
RuleReadAttribute
RuleWriteAttribute
RuleInvokeAttribute
Konzepte
Gewusst wie: Verwenden von Regelbedingungen in Workflows
Prioritätsbasierte Ausführung von RuleSets
Regeln und Bedingungen – Übersicht
Weitere Ressourcen
Simple Policy Sample
Advanced Policy Sample
Lernprogramm: Verwenden von Regeln und Bedingungen
Windows Workflow Foundation-Aktivitäten
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.