WorkflowRuntime.StartRuntime Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Element WorkflowRuntime jest usuwany.
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.