Compartir a través de


Extremo de administración de flujo de trabajo

Este tema es aplicable a Windows Workflow Foundation 4.

El extremo de administración de flujo de trabajo permite a los desarrolladores llamar a las operaciones de control para controlar de forma remota instancias de flujo de trabajo hospedadas mediante WorkflowServiceHost. Esta característica se puede utilizar para realizar operaciones de control mediante programación como la suspensión, la reanudación y la finalización.

Administración de instancias de flujo de trabajo

.NET Framework versión 4 define un nuevo contrato llamado IWorkflowInstanceManagement. Este contrato define una serie de operaciones de control que le permiten controlar de forma remota instancias de flujo de trabajo hospedadas por WorkflowServiceHost. WorkflowControlEndpoint es un extremo estándar que proporciona una implementación del contrato IWorkflowInstanceManagement. WorkflowControlClient es una clase que se usa para enviar operaciones de control a WorkflowControlEndpoint.

Las instancias de flujo de trabajo pueden presentar uno de los estados siguientes:

  • Activo
    El estado de una instancia de flujo de trabajo antes de alcanzar el estado completado y cuando no se encuentra en estado suspendido. Cuando se encuentra en este estado, la instancia de flujo de trabajo se ejecuta y procesa los mensajes de aplicación.
  • Suspendido
    Cuando se encuentra en este estado, la instancia de flujo de trabajo no se ejecuta aunque haya actividades que no hayan comenzado a ejecutarse o se han ejecutado parcialmente.
  • Completado
    El estado final de una instancia de flujo de trabajo. La instancia de flujo de trabajo no se puede ejecutar después de alcanzar el estado completado.

IWorkflowInstanceManagement

La interfaz IWorkflowInstanceManagement define un conjunto de operaciones de control con versiones sincrónicas y asincrónicas. Las versiones de transacción requieren el uso de un enlace que reconoce las transacciones. En la siguiente tabla, se enumeran las operaciones de control admitidas.

Operación de control Descripción

Abort

Detiene de forma obligatoria la ejecución de la instancia de flujo de trabajo.

Cancelar

Realiza una transición de una instancia de flujo de trabajo del estado activo o suspendido al estado completado.

Run

Ofrece a una instancia de flujo de trabajo la oportunidad de ejecutarse.

Suspender

Realiza una transición de una instancia de flujo de trabajo del estado activo al estado suspendido.

Terminate

Realiza una transición de una instancia de flujo de trabajo del estado activo o suspendido al estado completado.

Unsuspend

Realiza una transición de una instancia de flujo de trabajo del estado suspendido al estado activo.

TransactedCancel

Realiza la operación de cancelación en una transacción (procedente del cliente o creada localmente). Si el sistema mantiene el estado durable de la instancia de flujo de trabajo, la instancia de flujo de trabajo se debe conservar durante la ejecución de esta operación.

TransactedRun

Realiza la operación de ejecución en una transacción (procedente del cliente o creada localmente). Si el sistema mantiene el estado durable de la instancia de flujo de trabajo, la instancia de flujo de trabajo se debe conservar durante la ejecución de esta operación.

TransactedSuspend

Realiza la operación de suspensión en una transacción (procedente del cliente o creada localmente). Si el sistema mantiene el estado durable de la instancia de flujo de trabajo, la instancia de flujo de trabajo se debe conservar durante la ejecución de esta operación.

TransactedTerminate

Realiza la operación de finalización en una transacción (procedente del cliente o creada localmente). Si el sistema mantiene el estado durable de la instancia de flujo de trabajo, la instancia de flujo de trabajo se debe conservar durante la ejecución de esta operación.

TransactedUnsuspend

Realiza la operación de cancelación de la suspensión en una transacción (procedente del cliente o creada localmente). Si el sistema mantiene el estado durable de la instancia de flujo de trabajo, la instancia de flujo de trabajo se debe conservar durante la ejecución de esta operación.

El contrato IWorkflowInstanceManagement no proporciona ningún medio para crear una nueva instancia de flujo de trabajo, sino solo para administrar las instancias de flujo de trabajo existentes. Para obtener más información sobre la creación remota de una instancia de flujo de trabajo nueva, vea Extensibilidad de host de servicio de flujo de trabajo.

WorkflowControlEndpoint

WorkflowControlEndpoint es un extremo estándar con un contrato fijo, IWorkflowInstanceManagement. Cuando se agrega a una instancia WorkflowServiceHost, este extremo se puede utilizar para enviar operaciones de comando a cualquier instancia de flujo de trabajo hospedada por la instancia del host. Para obtener más información sobre los extremos estándar, vea Standard Endpoints.

WorkflowControlClient

WorkflowControlClient es una clase que le permite enviar mensajes de control a una clase WorkflowControlEndpoint en una clase WorkflowServiceHost. Contiene un método para cada una de las operaciones admitidas por el contrato IWorkflowInstanceManagement salvo las operaciones de transacción. La clase WorkflowControlClient usa la transacción ambiente para determinar si se debería usar una operación de transacción.