Chapter 11. Enhancements to the .NET Workflow Framework

In the "good old days" of application programming, the imperative approach ruled the world of software development. Today, you can find a number of other paradigms as replacements (or augmentations) to the traditional imperative model. The .NET family of languages is moving toward functional programming support (not only F#, but also C# and Visual Basic). The .NET run-time supports the declarative approach from the beginning — just think about attributes decorating types, members, and parameters. There are also several tools helping developers to apply aspect-oriented programming.

From the release of .NET 3.0 in 2006, workflow-based development appeared in the palette of paradigms supported by the framework — and, of course, by Visual Studio. The Windows Workflow Foundation (WF) was the run-time library that put workflows into the hands of developers. In contrast to the traditional imperative approach, this new paradigm manages work coordination and operations differently:

  • Workflows use a declarative model of writing applications by linking together building blocks called activities rather than line-by-line coding.

  • Workflows usually have a visual counterpart that allows a flowchart-like description of their logic.

  • Instead of keeping units of work in memory, workflows can handle long-running work by persisting themselves to a durable storage (such as a database) when idle, and by loading them again once there is some work to be ...

Get Visual Studio® 2010 and .NET 4, Six-in-one now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.