Parallel programming is one of the most important subjects that a modern developer should be familiar with.
As you all know .Net framework provides the "Parallel Extensions for .Net". I came across I great article called: Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4 which provides deep understanding about parallel programming in the .Net Framework 4.0.
Go read and enjoy.
AppFabric Azure Access control service was released with very small set of features which were mainly targeted to REST web services.
Now the ACS comes in a new version with a much larger set of features and capabilities.
Integrates with Windows Identity Foundation (WIF) and tooling
Out-of-the-box support for popular web identity providers including:
Windows Live ID, Google, Yahoo, and Facebook
Out-of-the-box support for Active Directory Federation Server v2.0
Support for OAuth WRAP, WS-Trust, and WS-Federation protocols
Support for the SAML 1.1, SAML 2.0, and Simple Web Token (SWT) token formats
Integrated and customizable Home Realm Discovery that allows users to choose
their identity provider
An OData-based Management Service that provides programmatic access to
A Web Portal that allows administrative access to ACS configuration
The new version is not in production yet but it is possible to play with it in the Azure AppFabricLabs
There is a great video about the new ACS version at channel 9.
I was building some custom activities which use dynamic arguments.
Dynamic arguments are created on runtime based on the values of some of the activities properties. The code that creates the arguments is called by visual studio designer and it is written in the activity's CacheMetadata(NativeActivityMetadata metadata) method as well as in the activity designer code-behind.
When I used my custom activities inside a sequence workflow everything worked great but when I used them in a flowchart workflow dynamic arguments where not created.
I started to debug this and found out that in a flowchart workflow CacheMetadata is called by visual studio designer only when an activity is connected to other activities in the flowchart or when an argument is set.
It is not called when you drag an activity from the toolbox to the workflow like happens in a sequence workflow.
This must be known to the workflow developer and taken into consideration when she builds the workflow. To create dynamic arguments the workflow developer must do the following:
Drag an activity to the workflow
Set its properties
Connect the activity to the write place in the flowchart
Double click it and set the dynamic properties just created
Hope this helps