Freigeben über


Prioritätsbasierte Ausführung von RuleSets

Falls Sie eine bestimmte Ausführungssequenz für RuleSet oder eine Teilmenge der Regeln in diesem RuleSet benötigen, kann diese Sequenz, wie bereits zuvor erwähnt, mithilfe des Prioritätsfelds in einer Regel präzise definiert werden. Bei einer häufigen Wiederholung dieses Vorgangs sind Verkettungen nicht mehr erforderlich, und die Verkettung in diesen Szenarien kann auch deaktiviert werden.

Der Mechanismus für die Weiterleitungsausführung in Windows Workflow Foundation ermöglicht das Definieren einer Ausführungssequenz, was jedoch nicht erforderlich ist. Aufgrund des Verhaltens der Weiterleitungsverkettung ist die Zuweisung von Regelprioritäten meist nicht erforderlich, um das korrekte RuleSet-Ergebnis zu erzielen. Dies liegt daran, dass Beziehungen automatisch vom Modul verwaltet werden, um sicherzustellen, dass Regelabhängigkeiten erfüllt werden.

Im folgenden Beispiel wird dieser Punkt erläutert.

Rule 1
IF this.Weather.Temperature < 50
THEN this.Drink.Style = "Latte"

Rule 2
IF this.Drink.Style == "Latte"
THEN this.Snack.Style = "Scone"
ELSE this.Snack.Style = "Muffin"

In Windows Workflow Foundation kann Regel 1 eine höhere Priorität zugewiesen werden, sodass sie zuerst ausgeführt wird. Dadurch wird gewährleistet, dass Drink.Style vor der Auswertung von Regel 2 festgelegt wird.

Die gewünschten Ergebnisse erhalten Sie jedoch auch ohne Einhaltung dieser Reihenfolge. Beispiel: Regel 2 wird zuerst ausgewertet. In diesem Fall ist Drink.Style möglicherweise NULL oder ein anderes Format. Dies führt dazu, dass Snack.Style auf "Muffin" festgelegt wird. Nach der Ausführung von Regel 1 und dem Festlegen von Drink.Style auf "Latte" wird Regel 2 neu ausgewertet und Snack.Style auf "Scone" festgelegt. Grundsätzlich besitzen Sie die Möglichkeit, die Abfolge zu bestimmen, doch in zahlreichen Fällen ist dies nicht erforderlich.

Die Abfolge kann auch hilfreich sein, falls die Regeln Abhängigkeiten aufweisen, Sie jedoch keine expliziten Update-Anweisungen oder Methodenzuweisung für Szenarien verwenden möchten, in denen sie andernfalls erforderlich wären.

Siehe auch

Referenz

RuleSet
RuleUpdateAction

Konzepte

Verwenden von RuleSets in Workflows
Regelauswertung in RuleSets

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.