DCSIMG
September 2010 - Posts - Manu Cohen-Yashar's Blog

Manu Cohen-Yashar's Blog

September 2010 - Posts

Parallel Programming Patterns

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.

Manu

AppFabric Azure Access Control New Features

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
        ACS configuration
  • 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.

    Enjoy

    CacheMetadata in Flowchart activities

    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:

    1. Drag an activity to the workflow
    2. Set its properties
    3. Connect the activity to the write place in the flowchart
    4. Double click it and set the dynamic properties just created

    Hope this helps

    Manu