Compartir a través de


Utilización de la actividad PolicyActivity

Puede utilizar la actividad PolicyActivity para representar una colección de reglas. Una regla está formada por condiciones y las acciones resultantes. Puede pensar en una regla como una instrucción IF-THEN-ELSE, con la condición que corresponde a IF, y las acciones que definen el comportamiento de las cláusulas THEN y ELSE.

Una acción puede realizar lo siguiente:

  • Establecer un campo o propiedad en un flujo de trabajo.

  • Llamar a un método o a objetos en un flujo.

  • Llamar a métodos estáticos en tipos de ensamblados con referencia.

  • Realizar un Halt o una instrucción Update.

Condiciones del conjunto de reglas y acciones

Cree las expresiones para las condiciones del conjunto de reglas y Then y las acciones Else. Para obtener más información acerca de las condiciones, vea Uso de condiciones en flujos de trabajo.

Las condiciones admiten los mismos operadores de expresión que las acciones, salvo que el operador “=” se utiliza para la asignación en lugar de la igualdad.

Funciones Halt y Update

También puede utilizar las funciones Halt y Update en expresiones que se usan con acciones. La acción Halt detiene, inmediatamente, la ejecución del conjunto de reglas y devuelve el control al código de llamada. La función Update se utiliza con el encadenamiento hacia adelante. Para obtener más información acerca de la utilización de Update con el encadenamiento hacia delante, vea la sección “Encadenamiento hacia delante explícito” más adelante en este tema.

Clases PolicyActivity y RuleSet

Para utilizar una actividad PolicyActivity en un flujo de trabajo, agregue una clase PolicyActivity al código del flujo de trabajo. A continuación, configure la propiedad RuleSetReference en PolicyActivity para señalar a un RuleSet por el nombre en una RuleSetCollection. La actividad PolicyActivity crea una instancia de la clase RuleSet; es la clase RuleSet que ejecuta las reglas. La actividad PolicyActivity contiene las propiedades en las que operan las reglas. Cuando la condición de una regla se evalúa como true, se ejecutan sus acciones Then. Cuando la condición se evalúa como false, se ejecutan las acciones Else.

Cada regla posee una propiedad Priority que rige el orden en el que se evalúan las reglas y se ejecutan sus acciones. El evaluador de reglas de Windows Workflow Foundation evalúa las reglas de manera individual, y ejecuta las acciones de la regla basándose en los resultados de la evaluación de la condición de la regla. Las reglas de mayor prioridad se ejecutan antes que las reglas de menor prioridad; las reglas con la misma prioridad se ejecutan siguiendo el orden alfabético de los nombre de la regla. Las prioridades pueden ser tanto positivas como negativas. La prioridad predeterminada para una regla es cero. Para obtener más información acerca de la prioridad de las reglas dentro de un RuleSet, vea Evaluación de reglas en RuleSets y Ejecución basada en prioridad de RuleSets.

Cada regla posee una propiedad RuleActive que determina si dicha regla debe evaluarse.

Consulte también

Referencia

PolicyActivity
Rule
RuleSet
RuleSetCollection
RuleAttributeTarget
RuleReadAttribute
RuleWriteAttribute
RuleInvokeAttribute

Conceptos

Cómo: utilizar condiciones de regla en flujos de trabajo
Ejecución basada en prioridad de RuleSets
Visión general de reglas y condiciones

Otros recursos

Simple Policy Sample
Advanced Policy Sample
Tutorial: Reglas de uso y condiciones
Actividades de Windows Workflow Foundation

Footer image

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.