Compartir a través de


Tutorial: Creación de una aplicación de flujo de trabajo con ASP.NET

Al hospedar una aplicación de flujo de trabajo en ASP.NET debe tener en cuenta varias consideraciones; en concreto, al crear el motor en tiempo de ejecución del flujo de trabajo, administrar el flujo de páginas, y conservar y recuperar datos. Este tutorial le guiará a través de una serie de pasos para crear una biblioteca de flujo de trabajo básica y un sitio web que se ejecuta e interactúa con los flujos de trabajo. Este tutorial muestra los siguientes temas relacionados con el flujo de trabajo:

  • Creación del tiempo de ejecución del flujo de trabajo

  • Agregar servicios al tiempo de ejecución del flujo de trabajo

  • Comunicación entre el flujo de trabajo y la aplicación host.

  • Almacenar y recuperar información de seguimiento del flujo de trabajo.

  • Persistencia del flujo de trabajo.

  • Programación manual del flujo de trabajo.

En esta aplicación, el tiempo de ejecución del flujo de trabajo se creará al iniciar la aplicación y se almacenará en la colección Application. La página hará referencia al tiempo de ejecución a través de esta colección; de este modo, toda la aplicación web utilizará la misma instancia de tiempo de ejecución.

Una vez creado el tiempo de ejecución en el controlador de eventos Application_Start, se agregan los servicios para el seguimiento, la programación, la persistencia y la comunicación del host. El acceso a los servicios de programación y comunicación del host se realiza a través de GetService cuando se necesitan, pero los servicios de seguimiento y persistencia funcionan sin más interacción con la aplicación host.

La comunicación entre la aplicación host y los flujos de trabajo se logra de tres maneras:

  • Los parámetros se pasan desde la aplicación al flujo de trabajo cuando se crea éste. Estos parámetros se envían como argumentos a la llamada a CreateWorkflow.

  • Los mensajes se envían desde la aplicación host a los flujos de trabajo en ejecución mediante un servicio de comunicación local.

  • Los mensajes se envían desde los flujos de trabajo a la aplicación host, de manera indirecta, a través de la infraestructura de seguimiento. El flujo de trabajo almacena información sobre si mismo en una base de datos SQL mediante el método TrackData. A continuación, el host recupera estos datos de seguimiento a través de SqlTrackingQuery. Este método se utiliza en lugar del servicio de comunicación, ya que en una aplicación ASP sin estado no habrá ningún código de usuario en ejecución para controlar los eventos generados por el flujo de trabajo.

Esta aplicación utiliza el SqlWorkflowPersistenceService predefinido para conservar los flujos de trabajo inactivos. Salvo agregar el servicio de persistencia al tiempo de ejecución, no se necesita más código de usuario para los flujos de trabajo de persistencia; descargue y recargue los flujos de trabajo de manera automática según sea necesario una vez implementado el servicio.

Debido a los requisitos de las aplicaciones ASP, la aplicación necesita ejecutar los flujos de trabajo en su propio proceso. El servicio de programación de flujo de trabajo predeterminado no puede utilizarse porque ejecuta los flujos de trabajo en su propio proceso. En su lugar, este tutorial utiliza ManualWorkflowSchedulerService para orientar la ejecución del flujo de trabajo.

La aplicación que construirá este tutorial es un simulador de aprobación de préstamo. La primera parte de la aplicación permite al usuario crear una solicitud de préstamo. Cuando se introduce una solicitud de préstamo, se crea e inicia una nueva instancia de flujo de trabajo. Una vez iniciado, el flujo de trabajo registra información de seguimiento, a continuación, se inactiva, se conserva en una base de datos y se descarga, mientras el tiempo de ejecución espera un mensaje de la aplicación. La segunda parte de la aplicación permite al usuario ver las solicitudes de préstamo existentes (mediante la recuperación de información de seguimiento). El usuario también puede marcar las solicitudes de préstamo existentes como aprobadas o rechazadas; se envía un mensaje al flujo de trabajo asociado a través del tiempo de ejecución del flujo de trabajo. Cuando el tiempo de ejecución recibe el mensaje para el flujo de trabajo, éste se recarga y, a continuación, recibe el mensaje utilizando una HandleExternalEventActivity. El flujo de trabajo registra si se aprobó o no el préstamo (a través de la infraestructura de seguimiento de flujo de trabajo) y, a continuación, se completa.

Necesitará instalar los servicios de información de Internet (IIS) para completar este tutorial. También necesitará Microsoft SQL Server o MSDE para el seguimiento y la persistencia del flujo de trabajo.

En esta sección

Ejercicio 1: Creación del proyecto de flujo de trabajo

Ejercicio 2: Creación del sitio web

Secciones relacionadas

Uso de flujos de trabajo con ASP.NET

Consulte también

Otros recursos

Tutoriales de Windows Workflow Foundation

Footer image

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.