Freigeben über


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

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.