Archive for the ‘technology’ Category

WF 4.0, Dublin and Oslo Oh My!

October 28, 2008 Leave a comment

No, I’m not attending the Microsoft love fest known as PDC (although I would have loved to go, I just couldn’t arrange it).  So instead, I get to stay at home and read all about the cool new products and frameworks that Microsoft is announcing (and download the CTPs too).

Unless you’ve been hiding under a rock for the last year or so, you’ve heard something about “Oslo”.  Although like me, you’ve probably not been able to fully understand just where MS was going with all of this.  Well they’re finally starting to present more of their vision for the future of development.

Here’s a link to a good overview that MS has just published (written by David Chappell).  It provides a high-level overview of how some of these future pieces will fit together.  The pieces in this case are WF 4.0, Dublin (Windows Server extensions) and Oslo (Modeling repository).


The books are here

June 18, 2008 1 comment

The author copies of my new Pro WF for .NET 3.5 book arrived today.  They look great!  So if you’ve pre-ordered the book from your favorite on-line book seller, they should be shipping any day now.  The official release date is next Monday the 23rd.

Pro WF for .NET 3.5

April 12, 2008 1 comment

So my last post to this blog was back in November. I’ve been very busy working on an updated version of my Pro WF book. The new edition of my book was originally scheduled for availability in late July, but that date has now been moved up to June 23rd.

The new edition provides coverage of the new WF features in .NET 3.5 and includes two new chapters. One of the new chapters covers WF and WCF integration (workflow services). The other new chapter provides better coverage of building custom composite activities and handling long-running tasks. I’ve also reviewed and updated all of the example code, the text and the screen shots.

Categories: .NET, general, technology, workflow

Visual Studio 2008 now available

November 20, 2007 Leave a comment

After a long wait, Visual Studio 2008 (formerly known as Orcas) is now available. I’ve been using beta 2 for some time now and it’s been very stable. .NET 3.5 is also included with VS 2008. I’ll now have to find a spare day to uninstall the beta and install RTM.

Here are a few pertinent links:

Let the downloading begin!

.NET Framework Source Code to be released

October 3, 2007 Leave a comment

Microsoft announced today that it will be releasing the source code for the .NET Framework in the VS 2008 time frame later this year.  No, it’s not going open source — instead it will be covered by something called the Microsoft Reference License.  The intent is to allow us lowly developers a peek into the inner workings of the framework for debugging purposes.

VS 2008 will also provide an integrated debugging environment where missing bits of source code are downloaded automatically.

Categories: .NET, general, technology

Pro WF on sale at Bookpool

October 2, 2007 Leave a comment has all Apress books on sale at 50% off list price. It’s a great time to pick up my Pro WF book if you don’t already have it. Since it’s also published by Apress, my .NET Interop recipes book is also on sale.

Activity Validation for Bound Properties

September 27, 2007 Leave a comment

One of the readers (Andrew) of my Pro WF book recently had a question about page 114 of the book. This page contains the code for a custom activity validator class that enforces design-time requirements. In this example, I wanted to make sure that two properties of the target activity were set at design-time.

Andrew pointed out that the code only accepts statically set values for the properties. If you set these dependency properties by binding them to another property, the validation fails. He’s right. That particular example code only demonstrates how to validate against statically set values.

To solve the problem, all you need to do is call the IsBindingSet method of the base Activity class. Here is the revised code from page 114 (Listing 3-11) that now works for statically set or bound property values:

using System;
using System.Workflow.ComponentModel.Compiler;

namespace CustomActivityComponents
    /// <summary>
    /// Validator for MyCustomActivity
    /// </summary>
    public class MyCustomActivityValidator : ActivityValidator
        public override ValidationErrorCollection Validate(
            ValidationManager manager, object obj)
            ValidationErrorCollection errors = base.Validate(manager, obj);
            //only validate a single custom activity type
            if (obj is MyCustomActivity)
                MyCustomActivity activity = obj as MyCustomActivity;
                //only do validation when the activity is in a workflow
                if (activity.Parent != null)
                    if (activity.MyInt == 0)
                        if (!activity.IsBindingSet(MyCustomActivity.MyIntProperty))

                    if (activity.MyString == null ||
                        activity.MyString.Length == 0)
                        if (!activity.IsBindingSet(MyCustomActivity.MyStringProperty))
                            errors.Add(new ValidationError(
                                "MyString Property is incorrect", 501));
            return errors;
Categories: .NET, general, technology, workflow