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)

Syntax

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

Remarks

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

System.Object
  Microsoft.Practices.Unity.LifetimeManager
    Microsoft.Practices.Unity.SynchronizedLifetimeManager
      Microsoft.Practices.Unity.ContainerControlledLifetimeManager

See Also

SynchronizedLifetimeManager Members

Microsoft.Practices.Unity Namespace