Condividi tramite


WorkflowRuntime Costruttori

Definizione

Inizializza una nuova istanza della classe WorkflowRuntime.

Overload

WorkflowRuntime()

Inizializza una nuova istanza della classe WorkflowRuntime.

WorkflowRuntime(String)

Inizializza una nuova istanza della classe WorkflowRuntime tramite la sezione specificata del file di configurazione dell'applicazione.

WorkflowRuntime(WorkflowRuntimeSection)

Inizializza una nuova istanza della classe WorkflowRuntime utilizzando le impostazioni nella classe WorkflowRuntimeSection specificata.

WorkflowRuntime()

Inizializza una nuova istanza della classe WorkflowRuntime.

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

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare una funzionalità WorkflowRuntime da un host del flusso di lavoro. Fornisce un esempio di come utilizzare il costruttore WorkflowRuntime per creare un'istanza di WorkflowRuntime e accedere ai relativi metodi ed eventi.

Questo esempio di codice fa parte dell'esempio Di annullamento di un flusso di lavoro .

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

Commenti

WorkflowRuntime viene inizializzato con i valori predefiniti delle proprietà e contiene i servizi di base predefiniti. Per configurare anche il motore di runtime del flusso di lavoro, è possibile aggiungere e rimuovere i servizi utilizzando AddService e RemoveService, ed è possibile impostare Name. Dopo aver configurato WorkflowRuntime, chiamare StartRuntime per avviare il motore di runtime del flusso di lavoro e i relativi servizi.

Nella tabella seguente vengono illustrati i valori iniziali delle proprietà di un'istanza della classe WorkflowRuntime.

Proprietà Valore iniziale
Name "WorkflowRuntime"
IsStarted false

I servizi di base predefiniti sono: DefaultWorkflowCommitWorkBatchService e DefaultWorkflowSchedulerService.

Si applica a

WorkflowRuntime(String)

Inizializza una nuova istanza della classe WorkflowRuntime tramite la sezione specificata del file di configurazione dell'applicazione.

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)

Parametri

configSectionName
String

Nome di una sezione workflowSettings valida nel file di configurazione dell'applicazione.

Eccezioni

configSectionName è un riferimento null (Nothing in Visual Basic).

Impossibile trovare una sezione workflowSettings valida nel file di configurazione dell'applicazione.

Esiste già una classe WorkflowRuntime per questo dominio dell'applicazione.

Commenti

WorkflowRuntime viene inizializzata in base alle impostazioni nella sezione specificata da configSectionName nel file di configurazione dell'applicazione. configSectionName deve corrispondere a una sezione valida workflowSettings di un file di configurazione.

Quando il motore di runtime del flusso di lavoro viene configurato usando un file di configurazione dell'applicazione, carica e crea un'istanza delle classi dei tipi elencati nella Services sezione del file di configurazione. Quando il motore di runtime del flusso di lavoro costruisce queste classi, cerca costruttori di classi con le firme seguenti nell'ordine seguente:

  1. Servizio (runtime di WorkflowRuntime, parametri NameValueCollection)

  2. Servizio (runtime di WorkflowRuntime)

  3. Servizio (parametri NameValueCollection)

  4. Servizio()

Tutte le classi del servizio caricate da un file di configurazione devono implementare almeno una di queste firme del costruttore.

Per altre informazioni, vedere WorkflowRuntimeSection.

Si applica a

WorkflowRuntime(WorkflowRuntimeSection)

Inizializza una nuova istanza della classe WorkflowRuntime utilizzando le impostazioni nella classe WorkflowRuntimeSection specificata.

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)

Parametri

Eccezioni

settings è un riferimento null (Nothing in Visual Basic).

Esiste già una classe WorkflowRuntime per questo dominio dell'applicazione.

Commenti

Questo costruttore fornisce un meccanismo per configurare il motore di runtime del flusso di lavoro utilizzando una sola chiamata al metodo per gli host che non utilizzano un file di configurazione dell'applicazione. La scelta di non utilizzare il file di configurazione dell'applicazione può essere dovuta a numerosi fattori. Un host può essere in esecuzione in un ambiente che non consente l'utilizzo dei file di configurazione; ad esempio, in ambienti attendibili che non consentono la lettura dal file di configurazione dell'applicazione per ragioni di sicurezza. In altri casi, è possibile che un host utilizzi un meccanismo di configurazione proprietario; ad esempio, l'host può archiviare le impostazioni di configurazione del motore di runtime del flusso di lavoro in un database SQL.

Il motore di runtime del flusso di lavoro carica e crea un'istanza delle classi dei tipi contenute in WorkflowRuntimeSection.Services. Quando il motore di runtime del flusso di lavoro costruisce queste classi, cerca costruttori di classi con le firme seguenti nell'ordine seguente:

  1. Servizio (runtime di WorkflowRuntime, parametri NameValueCollection)

  2. Servizio (runtime di WorkflowRuntime)

  3. Servizio (parametri NameValueCollection)

  4. Servizio()

Tutte le classi di servizi specificate in settings devono implementare almeno una delle firme del costruttore seguenti.

Si applica a