March 12 Weekly Drop

Rating: No reviews yet
Downloads: 781
Released: Mar 12, 2008
Updated: Mar 13, 2008 by gmelnik
Dev status: -not yet defined by owner-

Recommended Download

Source Code Unity Application Block Marsh 12 Weekly Drop.msi
source code, 1924K, uploaded Mar 13, 2008 - 781 downloads

Release Notes

Welcome to the March 12, 2008 Weekly drop of Unity

Hi everyone, this is the latest weekly release for the Unity application block.

This week, the biggest change is: we have an installer! Since this is a preview, we make no promises that the installer will be well behaved. Having said that, I've run it on my machine quite a few times and it hasn't deleted anything important yet. ;-)

We'd really appreciate if folks could try it out and let us know if it misbehaves. The installer currently:
  • Puts binaries into Program files
  • installs the help chm
  • adds the program group
  • adds our binary directory to the registry so that our DLL's show up in Visual Studio's "Add Reference" dialog

The source code and quickstarts are included as zip files that are installed as part of the MSI.

Please give feedback on the packaging!

New Features

Feature wise, the major new feature is a new API for configuring injection. Yes, this means you don't need to use attributes to configure which constructor, properties, or methods are injected at resolution time. This feature is currently implemented via the extension API; we are considering moving it to the main API later depending on what people thing. Please look at ConfiguringInjection for more details.

Other Changes

The UnityContainer.RegisterInstance method will now throw if you pass it a null LifetimeManager.

There was a potential deadlock with the ContainerControlledLifetimeManager that has been fixed. As part of that work, we've added a "IRecovery" interface and collection to the BuildContext. This supports strategies that need to to a "try/catch" across the Pre/Post boundary. If an exception is raised by a strategy, all the IRecovery instances in the context will be executing, allowing for cleanup.

The locking approach in the PolicyList was reworked to remove the read locks. This slows down the write case, but in general usage reading policies happens far more often than writing. The change reduced our thread contention rate by over 90%.

Reviews for this release

No reviews yet for this release.