Silverlight Integration Pack for Microsoft Enterprise Library 5.0 released!


ELSLToday we are releasing the Silverlight Integration Pack for the popular Microsoft Enterprise Library application blocks. This release provides guidance and reusable components designed to encapsulate recommended practices which facilitate consistency, ease of use, integration, and extensibility. It also addresses the needs of those who would like to port their existing LOB applications, that already leverage Enterprise Library, to Silverlight .

What’s New

As depicted in the tube map below, the release includes:

  • Caching Application Block with support for:
    • In-memory cache
    • Isolated storage cache
    • Expiration and scavenging policies
    • Notification of cache purging
  • Validation Application Block with support for:
    • Multi-level complex validation
    • Attribute-based specification of validation rules
    • Configuration-based specification of validation rules
    • Simple cross-field validation
    • Self-validation
    • Cross-tier validation (through WCF RIA Services integration)
    • Multiple rule-sets
    • Meta data type for updating entities with external classes in Silverlight
    • Rich set of built-in validators
  • Logging Application Block, including:
    • Notification trace listener
    • Isolated storage trace listener
    • Remote service trace listener with support of batch logging
    • Implementation of a WCF Remote logging service that integrates with the desktop version of the Logging Application Block
    • Logging filters
    • Tracing
    • Logging settings runtime change API
  • Exception Handling Application Block, including:
    • Simple configurable, policy-based mechanism for dealing with exceptions consistently
    • Wrap handler
    • Replace handler
    • Logging handler
  • Unity Application Block – a dependency injection container
  • Dependency injection container independence (Unity ships with the Enterprise Library, but can be replaced with a different container)
  • Unity Interception mechanism, with support for:
    • Virtual method interception
    • Interface interception
  • Policy Injection Application Block, including:
    • Validation handler
    • Exception Handling handler
    • Logging handler
  • Flexible configuration options, including:
    • XAML-based configuration support
    • Asynchronous configuration loading
    • Interactive configuration console supporting profiles (desktop vs. Silverlight)
    • Translation tool for XAML config (needed to convert conventional XML configuration files):
      • Standalone command-line tool
      • Config console wizard
      • MS Build task
    • Programmatic configuration support via a fluent interface
  • StockTrader V2 Reference Implementation (RI) (via a separate download; final version to be released in the coming days)

Tube Map 01_01

Optional Update 1

In addition, we are shipping an Optional Update 1 for Enterprise Library 5.0. It includes the following:

  • Updates to the Validation Application Block validator attributes to support integration with WCF RIA Services
  • Usability improvements to the configuration console
  • Support for profiles in the configuration console (to tailor.NET and Silverlight-specific configurations)
  • Updated version of Unity 2.1 with Unity Interception fixes
  • Enterprise Library Validation extension for Unity fix
  • File configuration source with relative paths fix


How to Get It

Both Enterprise Library 5.0 and Enterprise Library 5.0 Silverlight Integration Pack are to be available as Windows Installer Packages (MSI) via MSDN or as NuGet packages. The configuration tool is also available as a Visual Studio extension package (VSIX) from the Visual Studio Gallery. Today, you can NuGet and Visual Studio Gallery as the primary distribution channel, with the MSDN downloads following.

Note: If you are new to NuGet, please do not look for Silverlight-specific Enterprise Library packages. NuGet packages are multi-platform. Just get the official EntLib packages (easily recognizable by the orange logo and the author - Microsoft). Depending on the framework your project is targeting, NuGet will install the corresponding bits. The only platform specific packages are source code packages.

Learning More

The following learning resources are recommended:

We’d be happy to hear about your experiences using the Silverlight Integration Pack. Also, feel free to spread the news (post, repost, tweet etc.).


The Team

This release has been produced by a dedicated group of professionals.

elsl team - small

The photo above only has some of us. The entire dev team included: Jérémi Bourgault, Richard Burte, Rick Carr, RoAnn Corbisier, Julian Dominguez, Mani Krishnaswami, Grigori Melnik, Nancy Michel, Lavanya Selvaraj, Fernando Simonazzi, Chris Tavares, Erwin van der Valk, Rajarajan Veluchamy, Sathish Venkateswarlu, Srinivasan Vijaya Rengan, Hanz Zhang. Special thanks to advisors and reviewers: Ward Bell, Bob Brumfield, Paul Currit, David Fowler, Jeff Handley, Phil Haack, David Hill, Peter Kuhn, Steve Lasker, Jesse Liberty, Erik Mork, Daniel Piessens, Erik Renaud, Karl Shifflett, Joe Stagner, François Tanguay, and Shawn Wildermuth. And of course, a huge thanks to you, our dev community!

5/12/2011 Update

While NuGet and Visual Studio Gallery are primary distribution channels for this release, here are the download links to get the bits from the Microsoft Download Center: