Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

10-4 Episode 16: Windows Workflow 4

23 minutes, 39 seconds


Right click “Save as…”

In this episode of 10-4 we build a "Hello Workflow 4" application.  You might have heard that .NET 4 includes an all new Workflow engine - learn how you can not only use Workflow but also do test first style development with it.


Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • "Workflow expressions are always in VB syntax"? Say it ain't so.

    I know it is all still beta, but I noticed that the new VS interface is not very efficient with regards to the available screen estate. Big gaps between panes, valuable space that could be used to display code Wink

    Shame the focus of this video is more on testing workflows rather than building them.

    Man, I am being negative today, it must be the weather.
  • Ron Jacobsrojacobs Ron Jacobs

    The idea of Expressions in VB.NET syntax is that ultimately business users might be able to understand and/or change these expressions using a rehosted workflow designer. 

    The C# expression "Name.Length % 2 == 0" is definitely not business user friendly.  Will someone who is pretty good with Excel get "Name.Length Mod 2 = 0" - probably.  At least that is the goal.

    I like to use tests as part of the process of building the business logic.  That way once your business logic is built, the tests are already done and you get very high test coverage of the app.

    I agree the UI of DEV10 still needs work - but there is still time.

    Don't worry - it's finally sunny here in Seattle today so I can take a little criticisim Smiley

  • Why not allow for any desired conditional syntax?  For instance, you could put a drop-down on the condition input control that allows you to select which language syntax you want; "VB", "C#", "F#", "Ruby", "Python", etc. 

    Locking the user into a specific language syntax seems like a design conceit that is contrary to the .Net language flexibility mantra.
  • Ok so I am not sure who will be reading this but this is an example of a very good presenter. Not all devs are good at presenting. I love that channel 9 interviews devs but for a video showing off a new technology we need someone who is exciting and speaks well. This is the first 10-4 video i watched completely.
  • Well presented, but i agree, lacked content.
  • krisw, it's a point in time thing, it's what we'll most likely have for VS 2010 because of some relatively unexciting details, which I can get into if you want.  It's our intent that we will have more options in the future. 

  • Great to see the new WF in action. May be I missed something in the video but why does IntelliSense know at 18:30 the paremeter/field "FirstName"?
  • Great presentation!

    Another way of wrapping workflow arguments :

    It would be great if we could see the whole process with Sequence, TryCatch, While.... activities on the designer surface (as WF3).

  • This is a topic I'm very interested in but it's disappointing when you can't actually read any of the text in the video because it's shot at the wrong resolution. I've noticed this with quite a lot of C9 videos. Surely the point of these things is to be able to read the labels of menu items/buttons that are being used?
  • ok, I confess; I don't like VB... Not even the expressions,  I like Krisw approach better, in the real life or at least on own my experience ,most of the time, business  people hand over developer the logic to be implemented.


    When are we, simple mortals, will be able to get our hands on it?
    I could use something like your VPC ->
  • Ron Jacobsrojacobs Ron Jacobs
    Sorry about the video resolution.  When I first published this I set it to show high quality video.  For some reason our publishing system republished it about 8 hours later with low quality video.  We are trying to get it fixed but if you download the WMV high quality you will be able to read it.
  • Ron Jacobsrojacobs Ron Jacobs
    I think you mean the variable "FirstWord". 

    The build I'm using has some "issues" with Intellisense.  You may have noticed that the arguments "Name" and "Greeting" never show up in Intellisense and are flagged as errors (squigilly underline) by the expression editor but they work just fine at runtime.  These issues are being fixed and should be gone by Beta 1.
  • Ron Jacobsrojacobs Ron Jacobs
    Lacked content?  What were you expecting?

    This video is based on a draft of the first Hands On Lab for Workflow which is meant to be an introduction so it introduces you to the Workflow, several activities, arguments, expressions and error handling.

    There will be several other labs with much greater detail on other aspects of workflow.  If the video lacked something I'd like to fix it so it will be more compelling.
  • Ron Jacobsrojacobs Ron Jacobs
    In WF 3 there was no Try/Catch activity.  It had a FaultHandler which was not visible unless you toggled the view.

    I agree it might be nice to have the option to have an expanded view inline with everything else and the ability to toggle between expanded and collapsed without drilling down.  But that's the deal for now.
  • CharlesCharles Welcome Change
    This should be resolved now. The URL for the inline player points to a high res file. Watch it in full screen mode and you'll be pleased.
  • shows off more than "just" the topic it's about in a nice and background driven way...
  • The videos are not shot in low res. I think it does a bandwidth check and chooses the quality automatically.

    Just download it offline WMV(high) right under the video itself and it will be crystal clear.
  •   Great...  welcome back VBA.  The Office team is killing themselves to break the stereotype that office programming is a joke, based on VBA being at the heart of it, now VB syntax will be at the heart of workflow.

    Forget 2011…

    http://realworldsa.dotnetdevelopersjournal.com/goodbyewindowsworkflowfoundationseeyouin2011.htm " target="_blank">http://realworldsa.dotnetdevelopersjournal.com/goodbyewindowsworkflowfoundationseeyouin2011.htm

    See ya never…
  • No iterators in VB?
    No CTP release after 5 months since the last CTP expired???

    Pretty boring, isn't it?
  • Tad,

    In .NET 3, WF had a custom syntax that was kind of like C# but kind of like VB in order to do expressions in rules.  We heard a fair amount of feedback that folks wanted a richer expression story in order to have richer databinding, as opposed to the property + collection indexer support we had in 3.0.  In 3.0, for instance, if I have a WriteLine activity, and I want to combine two variables, I can not via data binding.  In 4.0, I can simply write Var1.PropOfInterest + " " + Var2.OtherPropOfInterest as the property value.

    We knew we didn't want to keep pushing forward with a weird pseudo-syntax and wanted to align with all of the features available in various languages. We've built the system in such a way that we will be able to plug in additonal languages in the future.  It just happens that the VB team is ahead of the C# team in being able to support this scenario, right now.  Check out the "Future of C#" and "Future of VB" talks from PDC.  The compiler services that Anders talks about at the end of his talk are something we'll need to incorporate C# into the WF expression story, and as Paul Vick mentions in his presentation towards the end, the VB team is making this type of funcitonality available in .NET 4.0. 

    Given that we don't have the capability to use C# today, we made the choice to push ahead and use VB here in order to provide a rich expression authoring experience (intellisense, etc) within the designer.  Would you prefer that 4.0 ship with the 3.0 syntax / capabilities and push off being able to use richer expressions until we can land both VB and C# at the same time?  The feedback we've gotten generally is that while this isn't ideal, it's a worthwhile tradeoff in order to get richer expressions.

    In an ideal world, what would you like to see from expressions in WF?
    • Just C#
    • Just VB
    • VB, C#
    • Any language that I can run in VS?
    • Dynamic languages (Ruby, Javascript, Python, etc)
    • New language?
    • Process / document centric expressions (XLANG/s, BPEL, XQuery ) ?

  • I am looking for new CTP too. When is it going to be out?
  • My company is just getting started with Workflow and I don't want to start with the old 3.5 stuff.  The applications that we will be developing with Workflow 4.0 and WCF will be internal.  When will we be able to start playing with VS2010 and the new WF 4.0 stuff?  Is there an early adopter avenue or will there be a beta soon?

  • Must have been watching the low res version of this video. I had no issues reading any of the text in the video.
  • Ron Jacobsrojacobs Ron Jacobs

    @dynamite, @toughnut - beta 1 is coming very soon.

  • Ron Jacobsrojacobs Ron Jacobs


    Workflows are more than just another way to write code.  They bring many capabilities from being able to suspend and resume at some later point (even on a different machine) to being fully instrumented business logic (wait until you see the monitoring episode...)

    So target market?  Literally anybody who writes business logic.

  • Hello, i'm testing Wf4 but i don't found "Handle External Event Activity" anyone know where is now? or how is possible interact with workflow from a WindowsForm?


  • Ron Jacobsrojacobs Ron Jacobs

    WF4 does support the ExternalDataExchange model anymore.  Instead you communicate with a workflow by using messages sent over WCF.  To exchange messages with a WindowsForm you would use a named pipe binding.

  • Pranav Shahjan0278 Pranav

    @Edsilv: Did you try the full screen?


    These video are clearer than hulu.com..


    PS: Not sure if its needed but I have Silverlight 3.

  • @mwinkle


    +1 for dynamic languages & C# integration.  

  • Hi there,


    I'd like to watch this but, in common with other MS videos which are viewed in the page, the sound jumps and skips. If a direct link to download a video file is produced, this usually works.


    Any ideas please?



  • Thanks for the presentation, it is great, 


    But what about supporting 3.5 WF?

    Our application is running more than a year now using 3.5 WF and we don’t want to rewrite it, so how can we run it from the 4.0 WF?


  • The idea of business users being happy with re-hosted workflow designer tools should fail. For the time being it seems that intellisence and code highlightning for VB expressions are not available for re-hosted scenarios. This feature is available only for Visual Studio 2010. I don't think companies will invest time, efforts and money inventing VB intellisense from the scratch, as well as trying to provide own syntax features, language bindings, etc. As for me the entire re-hosting idea is absolutely worthless without this key feature. I would believe a C# gurus entering expressions without code completion, but will never belive business users typing VB in a plain textbox.

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.