Hi folks, as you may/may not have been aware these are the core corner stone technologies of the MS Integration Stack.
The teams have been busily plugging away and coming up with the new versions – 4.5 corresponding to .NET 4.5 framework.
Here’s some links that describe what’s new from MS Santa & his elves:
- What's New in Windows Communication Foundation 4.5
- New Items I found of note are:
What's New in Windows Workflow Foundation in .NET 4.5
- New Service Transport Default values – keep an eye on these.
- Improvements from VS.NET 2011 – validation , better intellisence support.
- Streaming improved – true async (yay!)
- WebSocket support – through NetHttp(s)Binding
- Single WSDL file generation with ‘?singleWSDL’ (which is pretty handy)
- Self hosted + II hosted allow you to get to ServiceHost from code for dynamic configuration.
- Binary Encoder supports compression!! – this is generally gzip compression.
- My personal favourite – UDP support
- New Items of note are:
WF Rules – still didn’t make the cut. There is a sample for WF4 using a custom Activity calling back to WF 3.5 Policy4 it’s called. It uses ‘interop’ back to WF3.5 and is found here - http://msdn.microsoft.com/en-us/library/dd797584(v=VS.100).aspx
- New Activites – NoPersistScope (possible previously but we needed to write code)
- WF Designer improvements – several here, but the ‘Outline view’ looks to be easier to work with.
- C# Expressions – where’s the F# ones ??
- Designer Annotations – add your own comments to keep control of the jungle that is built.
- WF Versioning – use WorkflowIdentity & DefinitionIdentity to define the version. WorkflowServiceHost supports multiple versions of the same WF. All pretty cool.
- WF Designers can still be rehosted – I’ve used that many a place.
- Contract First Development – ticks the boxes.
Async CTP – while this didn’t make the ‘whats new’ list, it certainly does deserve a mention here.
- Will have to check out perf in this new land on these rules.
Over the last year I’ve built some pretty serious F# projects, and F# has the async support through and through the language. After over coming the challenge of learning it, the Async functionality is absolutely brilliant!!! F# does a great job in being able to turn a non-async chunk of code/method/class into an async one with by using the keyword async and a !. It’s straight forward from that aspect.
It’s great to see the C# & VB.NETs being able to use the same fundamentals (albeit not as slick IMO ). – see a previous POST - http://blogs.breezetraining.com.au/mickb/2011/04/26/EasierAsyncProgrammingComingToCVBSoon.aspx
As developers we sit here and say – what do I need this for? My code runs fine as it….and yes for the most part of what we do on our machine it does. This technology really comes into it’s own when you want consistent throughput from a solution with 1 person or 10000 concurrent people using it. That’s the difference.
To use it:
Check it out from here - http://msdn.microsoft.com/en-us/vstudio/gg316360
- Get VSNET 2011 (as it requires a new compiler)
- Use ASYNC CTP (refresh3) with VSNET2010 SP1