Workflow Inconsistencies
Last changed: MauriceDeBeijer-


There are a number of things in Windows Workflow Foundation that appear to be a bit inconsistent to me.

For example adding child Activities to a another.

A WhileActivity can only contain a single child activity, the same is true for a ReplicatorActivity. However a IfElseActivity and a ListenActivity can contain multiple child activities. Now the difference doesn't matter much as the single activity in the WhileActivity or ReplicatorActivity can be a SequenceActivity which in turn can contain multiple children but still it's confusing.

When a ConditionedActivityGroup is used you drop whatever activities you want in and these activities gain an extra property, the WhenCondition. On the other hand with the FaultHandlers you drop a FaultHandlerActivity in the top, set its FaultType and drop the activities you want to execute below. By the way the same difference as above applies, the ConditionedActivityGroup accepts a single child activity for each branch while the FaultHandlers accept multiple children for every FaultHandlerActivity.