WorkflowRuntime.StartRuntime Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Spustí modul runtime pracovního postupu a služby modulu runtime pracovního postupu.
public:
void StartRuntime();
public void StartRuntime ();
member this.StartRuntime : unit -> unit
Public Sub StartRuntime ()
Výjimky
Je WorkflowRuntime zlikvidován.
Pro tuto WorkflowRuntimeslužbu je zaregistrovaných více než jedna služba pracovního postupu CommitWorkBatch
služby.
-nebo-
V této WorkflowRuntimeslužbě je zaregistrovaných více než jedna služba plánovače.
-nebo-
Pro tuto WorkflowRuntimeslužbu je zaregistrovaných více než jedna služba trvalosti.
Příklady
Následující příklad kódu ukazuje, jak používat WorkflowRuntime funkce z hostitele pracovního postupu. Kód volá poté, co StartRuntimeWorkflowRuntime vytvoří WorkflowRuntime instanci a po volání AddService pro přidání služeb do modulu runtime. Volá také StartRuntime před provedením jakéhokoli jiného zpracování.
Tento příklad kódu je součástí ukázky Zrušení pracovního postupu .
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
Poznámky
Tato metoda ověří, zda existuje platná sada základních služeb, a poté spustí všechny služby, které jsou odvozeny z WorkflowRuntimeService třídy . Musí existovat jedna z následujících základních služeb: služba pracovního postupu CommitWorkBatch
odvozená ze WorkflowCommitWorkBatchService základní třídy a služba plánovače WorkflowSchedulerService odvozená ze základní třídy. Pokud chybí některé nebo obě tyto základní služby, modul runtime pracovního postupu poskytuje odpovídající výchozí službu: DefaultWorkflowCommitWorkBatchService pro službu pracovního postupu CommitWorkBatch
a DefaultWorkflowSchedulerService pro službu plánovače. Služba trvalosti je volitelná, ale může existovat maximálně jedna služba trvalosti. Po ověření konfigurace StartRuntime služby volá všechny Start služby, které jsou odvozeny z WorkflowRuntimeService třídy . Nakonec modul runtime pracovního postupu nastaví IsStarted a vyvolá Started událost.
Po spuštění modulu runtime pracovního postupu nemůžete přidávat ani odebírat základní služby. Základní služby jsou služby, které jsou odvozené z WorkflowSchedulerService třídy , WorkflowCommitWorkBatchService třídy WorkflowPersistenceService , třídy nebo TrackingService třídy . Pokud voláte StartRuntime , když je spuštěn modul runtime pracovního postupu, neprovádí se žádná akce.