Exemplo n.º 1
0
 public void Register(string assembly, Type interfaceType, LifetimeManagerEnum lifetimeManager)
 {
     _current.RegisterTypes(
         AllClasses.FromAssemblies(Assembly.Load(assembly)).Where(t => t.ImplementsInterface(interfaceType)),
         WithMappings.FromAllInterfaces,
         WithName.Default, x => SetLifeTimeManager(lifetimeManager)
         );
 }
Exemplo n.º 2
0
        private LifetimeManager SetLifeTimeManager(LifetimeManagerEnum liveTimeManager)
        {
            switch (liveTimeManager)
            {
            case LifetimeManagerEnum.ContainerControlled:
                return(new ContainerControlledLifetimeManager());

            case LifetimeManagerEnum.PerResolve:
                return(new PerResolveLifetimeManager());

            case LifetimeManagerEnum.PerThread:
                return(new PerThreadLifetimeManager());

            case LifetimeManagerEnum.Transient:
                return(new TransientLifetimeManager());

            default:
                return(new TransientLifetimeManager());
            }
        }
Exemplo n.º 3
0
 public void RegisterType <T>(LifetimeManagerEnum lifetimeManager)
 {
     _current.RegisterType <T>(SetLifeTimeManager(lifetimeManager));
 }
Exemplo n.º 4
0
 public void RegisterType(Type abstractType, Type concreteType, LifetimeManagerEnum lifetimeManager)
 {
     _current.RegisterType(abstractType, concreteType, SetLifeTimeManager(lifetimeManager));
 }
Exemplo n.º 5
0
 public void Register <TAbstract, TConcrete>(LifetimeManagerEnum lifetimeManager) where TConcrete : TAbstract
 {
     _current.RegisterType <TAbstract, TConcrete>(SetLifeTimeManager(lifetimeManager));
 }