Mercurial > pub > ImplabNet
view Implab.ServiceHost/Unity/RegistrationBuilder.cs @ 279:8714471e8d78 v3
Container configuration cleanup, RC2
author | cin |
---|---|
date | Fri, 04 May 2018 18:12:42 +0300 |
parents | 963b17c275be |
children | f07be402ab02 |
line wrap: on
line source
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Xml.Serialization; using Implab.Xml; using Unity.Injection; using Unity.Lifetime; using Unity.Registration; namespace Implab.ServiceHost.Unity { /// <summary> /// Базовый класс для формирования записей в контейнере, созволяет указать время жизни для записи /// </summary> public abstract class RegistrationBuilder { public Type RegistrationType { get; private set; } internal LifetimeManager Lifetime { get; set; } protected RegistrationBuilder(Type registrationType) { RegistrationType = registrationType; } internal void Visit(SingletonLifetimeElement simgletonLifetime) { Lifetime = new SingletonLifetimeManager(); } internal void Visit(ContainerLifetimeElement containerLifetime) { Lifetime = new ContainerControlledLifetimeManager(); } internal void Visit(HierarchicalLifetimeElement hierarchicalLifetime) { Lifetime = new HierarchicalLifetimeManager(); } internal void Visist(ContextLifetimeElement contextLifetime) { Lifetime = new PerResolveLifetimeManager(); } } }