Hosting a Workflow in a Local Executable using Workflow Services Part II

34 minutes, 22 seconds


Right click “Save as…”

When the Windows Workflow Foundation (WF) was first introduced in the .NET Framework 3.0, the only way to host a workflow in a client application was to use the WorkflowRuntime class programmatically, start the runtime, and create/start an instance of a workflow.  Furthermore, if you wanted to communicate between the client code and the workflow logic, you needed to ues a ExternalDataExchangeService.  This required a fair amount coding effort to get even the simplest of workflows up and running.  The .NET Framework 3.5 introduced Workflow Services which are Windows Communication Foundation (WCF) Services authored as workflows.  Workflow Services give you a new way to accomplish this scenario using a much simpler, cleaner, and arguably more elegant approach.  In this three part screencast, I show you how to improve on the more manual hosting + ExternalDataExchangeServices approach by hosting a workflow in a client executable using Workflow Service.

Part I - Reviewing the SimpleExpenseReport application from the Create a Sequential Workflow tutorial so we can compare the two approaches. The application explicitly hosts the WorkflowRuntime & uses ExternalDataExchangeService

Part II - Walking through the fundamentals of creating a Workflow Service and hosting the Workflow Service locally

Part III - Walking through my rewrite of the SimpleExpenseReport application using Workflow Services.

Source code for the Workflow Services version of SimpleExpenseReport is available at

Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.