Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between using WorkflowInvoker and WorkflowApplication?

and I notice when I use Invoker and call invoker.Invoke() directly the GUI won't refresh while running. What other difference are there?

like image 677
Louis Rhys Avatar asked Nov 29 '10 10:11

Louis Rhys


People also ask

Which is used for moving data into and out of an activity?

Activity Data Model Moves data into and out of an activity.

Which one of the following is used for explicit control over the execution of a single workflow instance?

Workflow Run-time Engine A WorkflowApplication for explicit control over the execution of a single workflow instance.


1 Answers

Running a workflow using the WorklfowInvoker is an synchronous call. So it will block as long as your workflow is running. It is intended for short running worklfows and unit testing of activities and doesn't support the Workflow Instance Store.

The WorklfowApplication is asynchronous and executes workflows as an asynchronous task, so the Run only schedules execution and returns. ON what thread it executes depends on the SynchronizationContext used, the default is using the ThreadPool. Status updates, like the workflow completing are done through callbacks you set. It also supports the Workflow Instance Store.

like image 133
Maurice Avatar answered Sep 19 '22 13:09

Maurice