Compartir a través de


Cómo agregar y quitar servicios de flujo de trabajo

Puede agregar y quitar servicios en el tiempo de ejecución del flujo de trabajo. Puede agregar servicios mediante el método AddService que se define en la clase WorkflowRuntime. Puede quitar servicios mediante el método RemoveService, también definido en la clase WorkflowRuntime.

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

Antes de que el motor del flujo de trabajo comience la ejecución mediante el método StartRuntime que se define en la clase WorkflowRuntime, puede agregar los servicios que se requieren para su flujo de trabajo. Para agregar un nuevo servicio, cree una nueva instancia de su objeto de servicio y llame al método AddService que se define en la clase WorkflowRuntime, pasando su objeto de servicio como un parámetro. El ejemplo siguiente muestra cómo crear e iniciar el motor de tiempo de ejecución, crear una instancia del servicio EventLogTrackingService que se describe en Creación de los servicios de seguimiento personalizados y agregar ese servicio al motor de tiempo de ejecución del flujo de trabajo.

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Workflow.Runtime;
using System.Workflow.Runtime.Hosting;

namespace WorkflowApplication
{
    class WorkflowHostExample
    {
        static void Main(string[] args)
        {
            // Create the runtime and EventLogTrackingService objects.
            WorkflowRuntime runtime = new WorkflowRuntime();
            EventLogTrackingService eventlogService = new EventLogTrackingService();

            // Add the EventLogTrackingService and start the runtime. 
            runtime.AddService(eventlogService);
            runtime.StartRuntime();

            ...

            runtime.StopRuntime();
        }
    }
}

Quitar servicios del motor de tiempo de ejecución del flujo de trabajo

Además de agregar servicios al motor de tiempo de ejecución, también puede quitarlos. Puede hacerlo llamando al método RemoveService que se define en la clase WorkflowRuntime. El parámetro de este método es la instancia del servicio que desea quitar. Se puede quitar un servicio sólo cuando no se está ejecutando el motor de tiempo de ejecución del flujo de trabajo. Debe llamar, por consiguiente, primero al método StopRuntime, quitar el servicio y, a continuación, iniciar de nuevo el tiempo de ejecución llamando a StartRuntime. El ejemplo siguiente profundiza en el ejemplo mostrado anteriormente quitando el servicio EventLogTrackingService.

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Workflow.Runtime;
using System.Workflow.Runtime.Hosting;

namespace WorkflowApplication
{
    class WorkflowHostExample
    {
        static void Main(string[] args)
        {
            // Create the runtime and EventLogTrackingService objects.
            WorkflowRuntime runtime = new WorkflowRuntime();
            EventLogTrackingService eventlogService = new EventLogTrackingService();

            // Add the EventLogTrackingService and start the runtime.
            runtime.AddService(eventlogService);
            runtime.StartRuntime();

            ...
            // Stop the runtime and remove the EventLogTrackingService.
            runtime.StopRuntime();
            runtime.RemoveService(eventlogService);
        }
    }

Nota

No puede quitar ningún servicio que fue creado por el propio motor de tiempo de ejecución mientras el motor de tiempo de ejecución se esté ejecutando. Estos servicios predeterminados se agregan cuando el tiempo de ejecución comienza a ejecutarse y se necesitan para administrar la ejecución de cualquier flujo de trabajo.

Los servicios siguientes y aquéllos que derivan de estos tipos no se pueden quitar mientras el motor de tiempo de ejecución se está ejecutando:

Para obtener información acerca de cómo agregar y quitar los servicios mediante un archivo de configuración, consulte Tarea 2: Configuración de servicios de tiempo de ejecución mediante App.Config, ubicado en Tutorial: Hospedaje del tiempo de ejecución de Windows Workflow Foundation y Workflow Configuration Formats.

Consulte también

Referencia

WorkflowCommitWorkBatchService
WorkflowPersistenceService
TrackingService
WorkflowSchedulerService
WorkflowLoaderService

Conceptos

Creación de una aplicación host de flujo de trabajo

Otros recursos

Desarrollo de aplicaciones con flujo de trabajo habilitado

Footer image

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.