Unity Application Block 1.2 for Silverlight - December 2008
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
|The latest Unity Application Block information can be found at the Unity Application Block site.|
The Unity Application Block (Unity) is a lightweight, extensible dependency injection container.
This release of Unity is a port of Unity Application Block 1.2 to Microsoft Silverlight 2.0.
Microsoft Silverlight is a cross-browser, cross-platform implementation of the Microsoft .NET Framework for building and delivering the next generation of media experiences and rich interactive application for the Web.
Silverlight has some differences from the desktop common language runtime (CLR), so some capabilities and packaging of the Unity container have been adjusted in this release. The following are the major differences:
- The single Microsoft.Practices.Unity.dll file in the Silverlight version contains all the classes from the three separate desktop DLLs: Microsoft.Practices.Unity.dll, Microsoft.Practices.ObjectBuilder2.dll, and Microsoft.Practices.Unity.StaticFactoryExtension.dll. You only need to reference and deploy the one assembly in your Silverlight projects.
- Because of differences in the Silverlight security model, only public types can be created and injected by the container. The desktop version allows you to also inject internal types.
- XML configuration is not supported.
- The Unity interception mechanism is not supported.
A working knowledge of the .NET Framework programming and Silverlight is required.
The following are the minimum system requirements to develop applications using Unity for Silverlight:
- Windows Server 2008, Windows Vista, or Windows XP operating system
- Microsoft Visual Studio 2008 SP1 with the Visual Web Developer feature or Microsoft Visual Web Developer 2008 Express with SP1
- Microsoft Silverlight 2.0 SDK. This is included with Silverlight Tools for Visual Studio 2008 SP1.
The following are the minimum system requirements to run applications using Unity for Silverlight:
- Microsoft Silverlight 2.0 plug-in with the corresponding requirements satisfied
- Unity Application Block 1.2 for Silverlight
For an introduction to dependency injection, see the article, Inversion of Control Containers and the Dependency Injection pattern, by Martin Fowler.
For information about the key features of the Unity Application Block, see Introduction to Unity and the StopLight QuickStart packaged with the release.
The Unity Application Block, like many patterns & practices deliverables, is associated with a community site. On this community site, you can post questions, provide feedback, or connect with other users for sharing ideas. Community members can also help Microsoft plan and test future releases of Unity, and download additional content such as extensions and training material.
Feedback and Support
Questions? Comments? Suggestions? To provide feedback about the Unity Application Block, or to get help with any problems, visit the Unity Community site. The message board on the community site is the preferred feedback and support channel because it allows you to share your ideas, questions, and solutions with the entire community. The Unity Application Block is a guidance offering, designed to be reused, customized, and extended. Code-based guidance is shipped "as is" and without warranties. Customers can obtain support through Microsoft Premier Support Services for a fee, but the code is considered user-written by Microsoft support staff.
Authors and Contributors
The Unity Application Block was produced by the following individuals:
- Product/Program Management: Grigori Melnik (Microsoft Corporation)
- Architecture/Development: Chris Tavares (Microsoft Corporation) and Fernando Simonazzi (Clarius Consulting)
- Testing: Vijaya Janakiraman (Solutions IQ), and Carlos Farre (Microsoft Corporation)
- Documentation: Dennis DeWitt (Linda Werner & Associates Inc) and Alex Homer (Microsoft Corporation)
- Editing and release: Nelly Delgado and RoAnn Corbisier (Microsoft Corporation), Tina Burden McGrayne (TinaTech, Inc.), and Richard Burte (ChannelCatalyst.com, Inc.)
Many thanks to the following people who previewed Unity for Silverlight and provided meaningful feedback:
- Bob Brumfield and Erwin van der Valk (Microsoft Corporation), Michael Sync (independent consultant)