SynchronizedLifetimeManager Class

Retired Content

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.

Base class for Lifetime managers which need to synchronize calls to GetValue().

Namespace: Microsoft.Practices.Unity
Assembly: Microsoft.Practices.Unity (in Microsoft.Practices.Unity.dll)


Public MustInherit Class SynchronizedLifetimeManager _
    Inherits LifetimeManager _
    Implements IRequiresRecovery
public abstract class SynchronizedLifetimeManager : LifetimeManager, 
public ref class SynchronizedLifetimeManager abstract : public LifetimeManager, 
public abstract class SynchronizedLifetimeManager extends LifetimeManager implements IRequiresRecovery


The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern.

Calls to the GetValue() method of a SynchronizedLifetimeManager instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released when such an initialization takes place by calling the SetValue(Object) method or if the build request which resulted in the call to the GetValue method fails.

Inheritance Hierarchy


See Also

SynchronizedLifetimeManager Members

Microsoft.Practices.Unity Namespace