[How To] Save WF4 Workflow Definition to Image Using Code

One of the benefits of using WF4 to create workflow is that it provides a graphical workflow designer. This means in most of the cases, developers don’t need to write code to define their workflows. Instead, they can use the graphical workflow designer we provided. This can not only dramatically improve the productivity but also…


Hotfix from WPF to Solve Workflow Designer Hang Issue in Some Cases

Recently we’ve received a few customer feedbacks reporting WF4 workflow designer would have bad performance or hang in some cases even when the workflow is relatively small. We’ve worked with customers and found out that it was actually a WPF issue. Good news is, the WPF team has already release a hotfix for it. So…


Workflow Foundation 4.0 Activity Data Model (III)

We talked about WF4 Activity overview and WF parameters in particular in previous posts. In this installment, I’m going to focus on WF variables. Variable Variables are modeled by Variable class.     namespace System.Activities     {           public abstract class Variable : LocationReference         {             public ActivityWithResult Default { get; set; }             public…

1

WF State Machine Activity Pack CTP1 Released

The WF State Machine Activity Pack CTP1 is released on CodePlex NOW!!  Please check it out. Last year in PDC2009, I ran a chalk talk on our work on WF 4 State Machine Activities and promised the team would ship an implementation for public review after the release of Visual Studio 2010.  Today, I am so…

3

WF ADO.NET Activity Pack CTP1 Released

We are happy to announce that we have released the WF ADO.NET Activity Pack CTP1 on CodePlex. The WF ADO.NET Activity Pack CTP1 contains a set of WF 4 Activities based on .NET Framework Data Providers. These activities enable accessing a database through SQL commands or stored procedures within a workflow.  You can drag-and-drop the ADO.NET…

0

Workflow Foundation 4.0 Activity Data Model (II)

In the 1st segment, I talked about high level principle for WF4’s data model design. I’m going to talk about WF Argument in particular in this post. Argument We’ve briefly touched this before: in WF4, arguments are modeled by Argument class. namespace System.Activities {   public abstract class Argument {     public Type ArgumentType { get;…

1

Workflow Foundation 4.0 Activity Data Model (I)

In previous blogs, we went through how define an Activity’s execution logic. But this is not enough. To build any meaningful Activity, developers also need to the activity’s state and data flow. In this post, I’m going to talk about WF4’s Activity data model. Argument and Variable 101   WF is just another higher level…

0

Workflow Foundation Internals (III)

Workflow Foundation Internals (III) Andrew Au Continue with our last article, we will work on allowing parallelism and create the workflow/host communication pattern. This pattern is actually very common, such as waiting for multiple approvers to approve a document. Last time we notice the problem is that ScheduleActivity can only be called once, so the…

0

Workflow Foundation Internals (II)

Workflow Foundation Internals (II) Andrew Au Continue with our last article, we will work on separating program and data. Program and data are very distinct concepts from the perspective of a programmer. For example, you can run code, but you can’t run data. Code are not expected to be changed during runtime (except some circumstances…

0

Workflow Foundation Internals (I)

Workflow Foundation Internals (I) Andrew Au Inspired by the book Essential Windows Workflow Foundation that describes the last version of Workflow Foundation, I can’t stop myself trying to write an equivalent piece for WF4. While the basic working principle is fundamentally the same, the programming model is quite different. We will start from the same…

1