Subscribe: Assorted Windows Workflow Foundation & Live Mesh
Preview: Assorted Windows Workflow Foundation & Live Mesh

Assorted Windows Workflow Foundation

My name is Tom Lake. I previously worked on the Windows Workflow Foundation Activities test team and created these blog posts and samples to help before the official samples were available.

Last Build Date: Wed, 17 Sep 2008 02:32:00 +0000


It is time for a change

Wed, 17 Sep 2008 02:32:00 +0000

After 8 years working on BizTalk and Windows Workflow Foundation I have decided it is time to work on testing a new product.  Starting yesterday I am now working on the Live Mesh team.  I really enjoyed helping answer questions and putting together samples to help people better understand Windows Workflow Foundation, and I hope to...

Are you getting a "The root activity type is invalid" error with the Custom Activity Designer sample?

Mon, 10 Dec 2007 12:08:00 +0000

Several peolple have gotten a "The root activity type is invalid" error when using the Custom Activity Designer sample that can be found at  I created an update project that should resolve the problem, which can be downloaded from the link below.

State machine workflow web service example

Mon, 29 Jan 2007 03:00:00 +0000

Being able to have a StateMachineWorkflow hold state across multiple different web service calls can be very useful.  This example will show you how to get start.  The first step is to create your interface.  For this example I will be using the following:   public interface IOrderService {     string CreateOrder(string id);     string...

How to use custom ActivityCondition or filter which ActivityConditions are available

Thu, 19 Oct 2006 14:44:00 +0000

If you have your own custom ActivityCondition you are only going to be able to use it with your custom activities, not out of the box activities like While or IfElseBranch.  First start by creating your custom ActivityCondition like the following:   [DisplayName("Custom Activity Condition")] public class CustomActivityCondition : ActivityCondition {     public override bool...

Switch activity

Wed, 30 Aug 2006 20:35:00 +0000

The Switch activity I created is based on the switch statement in C# or the Select Case statements in VB.  You have an expression and one or more case statements, one of which can be the default.  To model within workflow the case becomes a property that must be on the children of the Switch...

Basics of Working with Custom Types in Workflow

Mon, 17 Jul 2006 13:00:00 +0000

If you have used a custom type for an activity / workflow property you have probably ran into a few issues.  You might have had problems trying to get it serialized correctly or to be able to set the value in the property browser.  With this post I will try and shed some light on...

Do you want to invoke another workflow but you won’t know which one until runtime?

Fri, 14 Jul 2006 19:45:00 +0000

The InvokeWorkflowActivity that ships with WF requires you to set the type of the target workflow at design time.  If you won’t know which workflow to invoke until runtime you need to write a custom activity. To invoke a workflow need to use the IStartWorkflow service that you can get from the ActivityExecutionContext, like the...

Do you need to launch another process from your workflow?

Fri, 14 Jul 2006 18:14:00 +0000

When start another process from your workflow you can’t just not return from the Execute method until the process completes.  This would block the entire workflow from receiving any other events and would hold onto the thread.  Instead you need to use a queue to get notification when the process completes. ProcessActivity.EXE

How to set activity property from a custom input form

Mon, 05 Jun 2006 16:17:00 +0000

Sometime you might want to create an input form for your user to set properties on your custom activity.  Unfortunately when you set the properties directly on the activity from the input form the values don’t always get reflected on your activity.  To resolve this you need to set the value on the PropertyDescriptor for...

How to send data to a workflow

Fri, 02 Jun 2006 14:30:00 +0000

Sometimes you need to send data to a workflow from the host.  To do this you need create an interface that is decorated with the ExternalDataExchange attribute and contains an event delegate like the following:   [ExternalDataExchange] public interface IMyService {     event EventHandler Completed; }   In your workflow add a HandleExternalEventActivity and set...