I have written some custom activities for business validation (http://www.neovolve.com/post/2010/10/13/Custom-Workflow-activity-for-business-failure-evaluatione28093Wrap-up.aspx with
project source at
http://neovolve.codeplex.com/SourceControl/changeset/view/68064#1422354). They have worked fine until I use them in a workflow service.
The evaluator activity pushes a business failure into a custom extension. The custom extension will then detect whether the evaluator is contained in a scope activity. If there is a scope activity, it will store the failure in the extension for the scope
to collect later. If there isn't a scope, it will throw an exception straight away. The scope will look for failures in the extension written by its child activities when it completes and will throw an exception for the set of failures.
This has worked fine so far for workflows executed via WorkflowInvoker and WorkflowApplication. There are unit tests for these activities to ensure that the above behavior is working as expected.
I have just used these activities in a workflow service and found that the extension behavior is very different. The function p
View Complete Post