Compartir vía


WorkflowRuntime Constructores

Definición

Inicializa una nueva instancia de la clase WorkflowRuntime.

Sobrecargas

WorkflowRuntime()

Inicializa una nueva instancia de la clase WorkflowRuntime.

WorkflowRuntime(String)

Inicializa una nueva instancia de la clase WorkflowRuntime utilizando la sección especificada del archivo de configuración de aplicación.

WorkflowRuntime(WorkflowRuntimeSection)

Inicializa una nueva instancia de la clase WorkflowRuntime utilizando los valores del WorkflowRuntimeSection especificado.

WorkflowRuntime()

Inicializa una nueva instancia de la clase WorkflowRuntime.

public:
 WorkflowRuntime();
public WorkflowRuntime ();
Public Sub New ()

Ejemplos

El ejemplo de código siguiente muestra cómo se puede utilizar la funcionalidad WorkflowRuntime desde un host de flujos de trabajo. Proporciona un ejemplo de cómo utilizar el constructor WorkflowRuntime para crear una instancia de WorkflowRuntime y tener acceso a sus métodos y eventos.

Este ejemplo de código forma parte del ejemplo Cancelar un flujo de trabajo .

static void Main()
{
    string connectionString = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;";

    using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
    {
        ExternalDataExchangeService dataService = new ExternalDataExchangeService();
        workflowRuntime.AddService(dataService);
        dataService.AddService(expenseService);

        workflowRuntime.AddService(new SqlWorkflowPersistenceService(connectionString));
        workflowRuntime.StartRuntime();

        workflowRuntime.WorkflowCompleted += OnWorkflowCompleted;
        workflowRuntime.WorkflowTerminated += OnWorkflowTerminated;
        workflowRuntime.WorkflowIdled += OnWorkflowIdled;
        workflowRuntime.WorkflowAborted += OnWorkflowAborted;

        Type type = typeof(SampleWorkflow1);
        WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
        workflowInstance.Start();

        waitHandle.WaitOne();

        workflowRuntime.StopRuntime();
    }
}
Shared Sub Main()
    Dim connectionString As String = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;"
    Using workflowRuntime As New WorkflowRuntime()
        Dim dataService As New ExternalDataExchangeService()
        workflowRuntime.AddService(dataService)
        dataService.AddService(expenseService)

        workflowRuntime.AddService(New SqlWorkflowPersistenceService(connectionString))


        AddHandler workflowRuntime.WorkflowCompleted, AddressOf OnWorkflowCompleted
        AddHandler workflowRuntime.WorkflowTerminated, AddressOf OnWorkflowTerminated
        AddHandler workflowRuntime.WorkflowIdled, AddressOf OnWorkflowIdled
        AddHandler workflowRuntime.WorkflowAborted, AddressOf OnWorkflowAborted


        Dim workflowInstance As WorkflowInstance
        workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
        workflowInstance.Start()

        waitHandle.WaitOne()

        workflowRuntime.StopRuntime()
    End Using
End Sub

Comentarios

WorkflowRuntime se inicializa con los valores de propiedad predeterminados y contiene los servicios centrales predeterminados. Para configurar también el motor en tiempo de ejecución de flujo de trabajo, puede agregar y quitar los servicios utilizando AddService y RemoveService, y puede establecer Name. Una vez configurado WorkflowRuntime, llame al StartRuntime para iniciar el motor en tiempo de ejecución de flujo de trabajo y sus servicios.

En la siguiente tabla se muestran los valores iniciales de las propiedades de una instancia de la clase WorkflowRuntime.

Propiedad Valor inicial
Name "WorkflowRuntime"
IsStarted false

Los servicios centrales predeterminados son: DefaultWorkflowCommitWorkBatchService y DefaultWorkflowSchedulerService.

Se aplica a

WorkflowRuntime(String)

Inicializa una nueva instancia de la clase WorkflowRuntime utilizando la sección especificada del archivo de configuración de aplicación.

public:
 WorkflowRuntime(System::String ^ configSectionName);
public WorkflowRuntime (string configSectionName);
new System.Workflow.Runtime.WorkflowRuntime : string -> System.Workflow.Runtime.WorkflowRuntime
Public Sub New (configSectionName As String)

Parámetros

configSectionName
String

El nombre de una sección workflowSettings válida en el archivo de configuración de la aplicación.

Excepciones

configSectionName es una referencia nula (Nothing en Visual Basic).

Una sección workflowSettings válida no se pudo encontrar en el archivo de configuración de la aplicación.

Un WorkflowRuntime ya existe para este dominio de aplicación.

Comentarios

WorkflowRuntime se inicializa según los valores de la sección especificada por configSectionName en el archivo de configuración de la aplicación. configSectionName debe corresponder a una sección válida workflowSettings de un archivo de configuración.

Cuando el motor en tiempo de ejecución del flujo de trabajo se configura mediante un archivo de configuración de la aplicación, carga y crea instancias de las clases de los tipos enumerados en la Services sección del archivo de configuración. Cuando el motor en tiempo de ejecución de flujo de trabajo construye estas clases, busca constructores de clase con las firmas siguientes en este orden:

  1. Servicio (tiempo de ejecución WorkflowRuntime, parámetros NameValueCollection)

  2. Servicio (tiempo de ejecución WorkflowRuntime)

  3. Servicio (parámetros NameValueCollection)

  4. Servicio()

Todas las clases de servicio cargadas desde un archivo de configuración deben implementar por lo menos una de estas firmas de constructor.

Para obtener más información, vea WorkflowRuntimeSection.

Se aplica a

WorkflowRuntime(WorkflowRuntimeSection)

Inicializa una nueva instancia de la clase WorkflowRuntime utilizando los valores del WorkflowRuntimeSection especificado.

public:
 WorkflowRuntime(System::Workflow::Runtime::Configuration::WorkflowRuntimeSection ^ settings);
public WorkflowRuntime (System.Workflow.Runtime.Configuration.WorkflowRuntimeSection settings);
new System.Workflow.Runtime.WorkflowRuntime : System.Workflow.Runtime.Configuration.WorkflowRuntimeSection -> System.Workflow.Runtime.WorkflowRuntime
Public Sub New (settings As WorkflowRuntimeSection)

Parámetros

Excepciones

settings es una referencia nula (Nothing en Visual Basic).

Un WorkflowRuntime ya existe para este dominio de aplicación.

Comentarios

Este constructor proporciona un mecanismo para configurar el motor en tiempo de ejecución de flujo de trabajo mediante una llamada al método única para los hosts que no utilizan un archivo de configuración de aplicación. Hay muchas razones para no utilizar el archivo de configuración de aplicación. Un host puede ejecutarse en un entorno que no permita la utilización de archivos de configuración; por ejemplo, en entornos de confianza que no permiten la lectura del archivo de configuración de la aplicación por razones de seguridad. Además, puede que un host quiera utilizar un mecanismo de configuración de propiedad; por ejemplo, el host puede almacenar la configuración del motor en tiempo de ejecución de flujo de trabajo en una base de datos SQL.

El motor en tiempo de ejecución de flujo de trabajo carga y crea instancias de clases de los tipos contenidos en WorkflowRuntimeSection.Services. Cuando el motor en tiempo de ejecución de flujo de trabajo construye estas clases, busca constructores de clase con las firmas siguientes en este orden:

  1. Servicio (tiempo de ejecución WorkflowRuntime, parámetros NameValueCollection)

  2. Servicio (tiempo de ejecución WorkflowRuntime)

  3. Servicio (parámetros NameValueCollection)

  4. Servicio()

Todas las clases de servicio especificadas en settings deben implementar por lo menos una de estas firmas de constructor.

Se aplica a