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.

Browse by Tags

Tagged Content List
  • Blog Post: Are you getting a "The root activity type is invalid" error with the Custom Activity Designer sample?

    Several peolple have gotten a "The root activity type is invalid" error when using the Custom Activity Designer sample that can be found at http://wf.netfx3.com/files/folders/activity_behavior/entry840.aspx . I created an update project that should resolve the problem, which can be downloaded from the...
  • Blog Post: State machine workflow web service example

    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...
  • Blog Post: How to use custom ActivityCondition or filter which ActivityConditions are available

    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" )] ...
  • Blog Post: Switch activity

    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 activity...
  • Blog Post: Basics of Working with Custom Types in Workflow

    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 some of the basics. I...
  • Blog Post: Do you want to invoke another workflow but you won't know which one until runtime?

    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...
  • Blog Post: Do you need to launch another process from your workflow?

    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...
  • Blog Post: How to set activity property from a custom input form

    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...
  • Blog Post: How to send data to a workflow

    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 <...
  • Blog Post: Project template for XAML Activation Console Application

    If you work with XAML activation from time to time and like being able to debug your workflow using a console application you should install these templates. However, you don’t like having to modify the default console application template each time. I created sequential and state machine console application...
  • Blog Post: Examples of using Persistence and Tracking in ASP.NET

    When you are working with ASP.NET you may have the need to persistence and / or tracking. I have put together two examples, one with shared databases and the other with separate, and included the command scripts to create the databases for you. There are VB and C# versions of each sample. When...
  • Blog Post: Using XAML activation in ASP.NET with a StateMachineWorkflow

    If you want to use XAML activation in ASP.NET you will need to be using Windows Workflow Foundation Beta 2.2, that can be found here . The reason for this is that although XAML activation works in most cases with Beta 2 it isn’t officially supported in that build because it was added as a feature at...
  • Blog Post: Couple of custom activities that you can use to synchronize branches of a ParallelActivity

    You could use a SynchronizationScope Activity, but this would block execution all together in the other branches since the thread is locked until the activity is done executing. If that is not the behavior you are looking for here are two options. First, WaitFor, will block the branch that it is in until...
  • Blog Post: XAML activation and how to use it

    XAML activation is when you use the serialized xoml file to create and run a workflow instance. You will use one of the following WorkflowRuntime methods to create the workflow instance: public WorkflowInstance CreateWorkflow( XmlReader workflowDefinitionReader); public WorkflowInstance CreateWorkflow...
  • Blog Post: Sample of StateMachineWorkflow receiving events fired in ASP.NET

    If you are using a state machine workflow in ASP.NET you need to use the ManualSchedulerService. After the workflow is started or an event is fired to it you need to make a call to RunWorkflow. This allows the current thread to process the event, for more information take a look at Nate’s blog . With...
  • Blog Post: Have you had problems using the FileWatcher sample in a StateMachineWorkflow or WhileActivity?

    If you have tried to use the FileWatcherActivity in either a WhileActivity or a StateMachineWorkflow you have probably not had much luck. The changes need to be made to the base activity InputActivity. To get it working in a while activity you need the following change to the ProcessQueueItem method...
Page 1 of 1 (16 items)