Share via


Utilisation de l'activité PolicyActivity

Vous pouvez utiliser l'activité PolicyActivity pour représenter une collection de règles. Une règle se compose de conditions et des actions qui en résultent. Une règle est comme une instruction IF-THEN-ELSE, dont la condition correspond à IF et dont les actions définissent le comportement des clauses THEN et ELSE.

Une action peut effectuer les opérations suivantes :

  • Définir un champ ou une propriété sur un workflow.

  • Appeler une méthode sur un workflow ou les objets d'un workflow.

  • Appeler des méthodes statiques sur des types dans des assemblys référencés.

  • Exécuter une instruction Halt ou Update.

Conditions de l'ensemble de règles et des actions

Vous créez des expressions pour les conditions de l'ensemble de règles et des actions Then et Else. Pour plus d'informations sur les conditions, consultez Utilisation de conditions dans les workflows.

Les conditions prennent en charge les mêmes opérateurs d'expression que les actions, l'opérateur « = » étant toutefois utilisé pour l'assignation plutôt que l'égalité.

Halt et Update

Vous pouvez également utiliser les fonctions Halt et Update dans les expressions utilisées avec les actions. L'action Halt provoque l'arrêt immédiat de l'exécution de l'ensemble de règles, ainsi que le retour du contrôle au code appelant. La fonction Update s'utilise avec le chaînage avant. Pour plus d'informations sur Update avec le chaînage avant, consultez ultérieurement la section « Chaînage avant explicite » de cette rubrique.

Classes PolicyActivity et RuleSet

Pour utiliser une activité PolicyActivity dans un workflow, ajoutez une classe PolicyActivity au code de workflow. Configurez ensuite la propriété RuleSetReference sur le PolicyActivity pour pointer vers un RuleSet par nom dans un RuleSetCollection. L'activité PolicyActivity crée une instance de la classe RuleSet. La classe RuleSet exécute les règles. L'activité PolicyActivity contient les propriétés sur lesquelles les règles opèrent. Lorsque la valeur true est affectée à la condition d'une règle, ses actions Then s'exécutent. Lorsque la valeur false est affectée à la condition, les actions Else s'exécutent.

Chaque règle a une propriété Priority qui régit l'ordre d'évaluation des règles et l'exécution de leurs actions. L'évaluateur de règles de Windows Workflow Foundation évalue des règles individuellement et exécute les actions de la règle en fonction des résultats de l'évaluation d'une condition de celle-ci. Les règles ayant une priorité plus haute s'exécutent avant les règles à basse priorité ; les règles avec la même priorité s'exécutent par ordre alphabétique selon le nom de chaque règle. Les priorités peuvent être à la fois positives et négatives. La priorité par défaut pour une règle est zéro. Pour plus d'informations sur la priorité de règles dans un RuleSet, consultez Évaluation des règles dans des RuleSets et Exécution de RuleSets basée sur la priorité.

Chaque règle a une propriété RuleActive qui détermine si la règle doit être évaluée.

Voir aussi

Référence

PolicyActivity
Rule
RuleSet
RuleSetCollection
RuleAttributeTarget
RuleReadAttribute
RuleWriteAttribute
RuleInvokeAttribute

Concepts

Comment : utiliser des conditions de règle dans les workflows
Exécution de RuleSets basée sur la priorité
Vue d'ensemble des règles et des conditions

Autres ressources

Simple Policy Sample
Advanced Policy Sample
Didacticiel : utiliser des règles et des conditions
Activités Windows Workflow Foundation

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.