Example #1
0
        public static IIocAppConfiguration UseLightInject(this IAppConfiguration configuration)
        {
            Ensure.NotNull(configuration, nameof(configuration));
            var contaier = new ServiceContainer {
                ScopeManagerProvider = new PerLogicalCallContextScopeManagerProvider()
            };
            var register = new IocRegistrar(contaier);
            var resolver = new IocResolver(new Lazy <Scope>(() => contaier.BeginScope()));

            register.RegisterInstance <IIocRegistrar>(register);
            register.RegisterInstance <IIocResolver>(resolver);
            //register.Register<IIocResolverScopeFactory,IocResolverScopeFactory>();
            contaier.Register <IIocResolverScopeFactory>(factory => new IocResolverScopeFactory(factory), new PerScopeLifetime());
            return(new IocAppConfiguration(configuration.ConfigDictionary)
            {
                Registrar = register,
                Resolver = resolver
            });
        }
Example #2
0
 public IocResolverScope(Scope scope)
 {
     _resolver = new IocResolver(new Lazy <Scope>(() => scope));
 }