Compartir a través de


Escenario StateMachine utilizando una combinación de actividades FlowChart y Pick

Este tema es aplicable a Windows Workflow Foundation 4.

En este ejemplo se muestra cómo implementar un escenario de cronómetro simple mediante una combinación de actividades Flowchart y Pick. Utiliza actividades Receive y Send dentro de la actividad Pick para escuchar eventos de cronómetro.

Dd807384.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 este directorio no existe, vaya a (página de descarga) para descargar todos los ejemplos de WF y Windows Communication Foundation (WCF). Este ejemplo se encuentra en el siguiente directorio.

<InstallDrive>: \WF_WCF_Samples\WF\Scenario\StateMachineWithPick

Detalles del ejemplo

En la tabla siguiente se enumeran los proyectos de este ejemplo.

Nombre del proyecto

Descripción

StopWatchService

Este proyecto contiene la implementación de un equipo de estado para el ejemplo del cronómetro utilizando una combinación de las actividades Flowchart y Pick.

La actividad Pick tiene 3 instrucciones PickBranch dentro de la propiedad Branches que escuchan eventos de GetStart, GetOff y GetStop. En función del evento de entrada, se activan los desencadenadores de una de las bifurcaciones y se desencadena la propiedad Action correspondiente. En la propiedad Action, hay una instrucción Switch que evalúa si la transición es legítima y si lo es, la propiedad currentState se actualiza al estado de transición y se envía al cliente.

La actividad FlowDecision al final de Flowchart evalúa la propiedad currentState para determinar si el estado es terminal. Si es así, el flujo de trabajo finaliza; de lo contrario, el control vuelve en bucle al inicio de la actividad Pick donde el flujo de trabajo está a la espera de más eventos de cronómetro.

StopWatchClient

Esta es una aplicación de consola de flujo de trabajo secuencial simple que envía varios eventos de cronómetro con combinaciones de actividades Send o Receive simples.

Para utilizar este ejemplo

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

  2. Presione F6 para compilar la solución.

  3. Inicie StopWatchService.exe desde el Explorador de Windows como administrador haciendo clic con el botón secundario en el archivo .exe y seleccionando Ejecutar como administrador.

    1. Navegue a la carpeta StateMachineWithPick\CS\StopWatchService\bin\Debug.

    2. Haga clic con el botón secundario en el archivo StopWatchService.exe y seleccione Ejecutar como administrador.

  4. Inicie la aplicación cliente StopWatchClient desde Visual Studio 2010.

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

    2. Presione CTRL+F5 para ejecutar la solución.

  5. Cambie a la ventana de consola de StopWatchService.exe para ver las transiciones de estado.

Dd807384.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\StateMachineWithPick