Compartir a través de


Actividad Policy en .NET Framework 4

Este tema es aplicable a Windows Workflow Foundation 4.

La actividad Policy4 permite utilizar objetos RuleSet de Windows Workflow Foundation en .NET Framework versión 3.5(WF 3.5) directamente en Windows Workflow Foundation en .NET Framework versión 4 (WF 4) utilizando el motor de reglas que se distribuye con WF 3.5. Utilizando esta actividad, puede crear y ejecutar un objeto RuleSet de WF 3.5. Para obtener más información sobre el motor de reglas de WF 3.5 que se incluye como parte de Windows Workflow Foundation, lea el apartado Introducción al motor de reglas de Windows Workflow Foundation. Para obtener más información sobre cómo migrar reglas a WF en .NET Framework 4, lea Guía de migración.

Dd797584.Important(es-es,VS.100).gif Nota:
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.

<InstallDrive>: \WF_WCF_Samples

Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de Windows Communication Foundation (WCF) y WF. Este ejemplo se encuentra en el siguiente directorio.

<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Policy4

Proyectos en este ejemplo

Nombre del proyecto Descripción Archivos principales

Policy4

Contiene la actividad Policy4 y su diseñador de WF.

Policy4.cs: definición de la actividad Policy4.

PolicyDesigner.xaml: diseñador personalizado para la actividad Policy4. Utiliza el editor de reglas (RuleSetDialog Class) del motor de reglas de WF.

ImperativeCodeClientSample

Aplicación cliente de ejemplo que configura y ejecuta un flujo de trabajo mediante una aplicación Policy4 que utiliza el código C# imperativo (no se utiliza ningún diseñador de WF).

ApplyDiscount.rules: archivo con definiciones de reglas de WF.

Order.cs: tipo que representa un pedido de cliente. Las reglas se aplican a los objetos de este tipo.

Program.cs: configura y ejecuta un flujo de trabajo que tiene una actividad Policy4 para aplicar las reglas definidas en ApplyDiscount.rules a las instancias de objetos Order.

App.config: archivo de configuración con la ruta de acceso del archivo de reglas.

DesignerClientSample

Aplicación cliente de ejemplo que configura y ejecuta un flujo de trabajo utilizando una aplicación Policy4 en el diseñador de WF.

Sequence1.xaml: flujo de trabajo secuencial que utiliza una actividad Policy4 para realizar evaluaciones de reglas.

Program.cs: ejecuta una instancia de flujo de trabajo definida en Sequence1.xaml.

La actividad Policy4

La actividad Policy4 es una clase que se deriva de NativeActivity y permite a los flujos de trabajo ejecutar RuleSets de WF. El siguiente ejemplo de código es una definición simplificada del modelo de objetos público de la actividad.

public class Policy4Activity<TResult>: NativeActivity<TResult>
{
    public RuleSet RuleSet

    [IsRequired]
    public InArgument Input

    public OutArgument<ValidationErrorCollection> ValidationErrors
}

Propiedad Descripción

RuleSet

La clase RuleSet Class de WF para .NET Framework 3.5 que se evaluará cuando se ejecute la actividad.

TargetObject

El objeto con el que se evalúan las reglas en la clase RuleSet Class.

ValidationError

La lista de errores de validación devuelta por el motor de reglas de WF para .NET Framework 3.5 al validar la clase RuleSet Class con el objeto de destino antes de realizar la ejecución.

Diseñador de la actividad Policy4

El diseñador de Policy4 agrega la capacidad de configurar una actividad Policy4 sin necesidad de escribir código. Después de compilar la solución, se puede encontrar en el cuadro de herramientas de la sección Microsoft.Samples.Activities.Rules.

El diseñador de WF le permite configurar un objeto de destino y un conjunto de reglas. Cuando se hace clic en el botón Editar RuleSet se muestra la clase RuleSetDialog Class de WF para .NET Framework 3,5. Este diálogo representa el editor de reglas de .NET Framework 3,5 re-hospedado. Utilice el editor para crear y modificar las reglas que la actividad Policy4 ejecuta.

Utilizar este ejemplo

No se exige ninguna configuración especial para ejecutar este ejemplo. Simplemente abra la solución en Visual Studio y presione F5 para ejecutar la aplicación.

Este ejemplo contiene dos aplicaciones cliente: ImperativeCodeClientSample y DesignerClientSample. El cliente ImperativeCodeClientSample muestra cómo configurar y ejecutar la actividad Policy40 utilizando el código imperativo C#. DesignerClientSample muestra cómo configurar y ejecutar la actividad Policy4 mediante el diseñador.

Para ejecutar la aplicación cliente ImperativeCodeClientSample

  1. Abra el archivo de solución Policy4Sample.sln con Visual Studio 2010.

  2. En el Explorador de soluciones, haga clic con el botón secundario en el proyecto ImperativeCodeClientSample y seleccione Establecer como proyecto de inicio.

  3. Presione CTRL+F5 para ejecutar el proyecto.

Para ejecutar la aplicación cliente ImperativeCodeClientSample

  1. Abra el archivo de solución Policy4Sample.sln con Visual Studio 2010.

  2. En el Explorador de soluciones, haga clic con el botón secundario en el proyecto DesignerClientSample.

    • Seleccione Establecer como proyecto de inicio.
  3. Presione F6 para compilar el proyecto.

  4. Presione CTRL+F5 para ejecutar el proyecto.