WorkflowRuntime.StartRuntime Metoda

Definicja

Uruchamia aparat czasu wykonywania przepływu pracy i usługi aparatu uruchomieniowego przepływu pracy.

public:
 void StartRuntime();
public void StartRuntime ();
member this.StartRuntime : unit -> unit
Public Sub StartRuntime ()

Wyjątki

W tej WorkflowRuntimeusłudze zarejestrowano więcej niż jedną usługę przepływu pracyCommitWorkBatch.

-lub-

W tym WorkflowRuntimeobiekcie zarejestrowano więcej niż jedną usługę harmonogramu.

-lub-

W tej WorkflowRuntimeusłudze zarejestrowano więcej niż jedną usługę trwałości.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać WorkflowRuntime funkcji z hosta przepływu pracy. Kod wywołuje StartRuntime polecenie po utworzeniu WorkflowRuntimeWorkflowRuntime wystąpienia i wywołaniu wywołania AddService w celu dodania usług do środowiska uruchomieniowego. Wywołuje również wywołanie StartRuntime przed wystąpieniem innego przetwarzania.

Ten przykładowy kod jest częścią przykładu Anulowanie przepływu pracy .

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

Uwagi

Ta metoda sprawdza, czy istnieje prawidłowy zestaw usług podstawowych, a następnie uruchamia wszystkie usługi pochodzące z WorkflowRuntimeService klasy. Musi istnieć jedna i tylko jedna z następujących podstawowych usług: usługa przepływu pracy CommitWorkBatch pochodząca z WorkflowCommitWorkBatchService klasy bazowej i usługa harmonogramu pochodząca z klasy bazowej WorkflowSchedulerService . Jeśli brakuje obu tych podstawowych usług, aparat czasu wykonywania przepływu pracy dostarcza odpowiednią usługę domyślną: DefaultWorkflowCommitWorkBatchService dla usługi przepływu pracy CommitWorkBatch i DefaultWorkflowSchedulerService usługi harmonogramu. Usługa trwałości jest opcjonalna, ale może istnieć co najwyżej jedna usługa trwałości. Po zweryfikowaniu konfiguracji StartRuntime usługi wywołuje Start wszystkie usługi pochodzące z WorkflowRuntimeService klasy. Na koniec aparat czasu wykonywania przepływu pracy ustawia IsStarted i zgłasza Started zdarzenie.

Nie można dodawać ani usuwać podstawowych usług po uruchomieniu aparatu czasu wykonywania przepływu pracy. Podstawowe usługi to usługi pochodzące z WorkflowSchedulerService klasy, WorkflowCommitWorkBatchService klasy, klasy, WorkflowPersistenceService klasy lub TrackingService klasy. Jeśli wywołasz wywołanie StartRuntime aparatu czasu wykonywania przepływu pracy, nie zostanie wykonana żadna akcja.

Dotyczy