예제 #1
0
        private AutofacServiceProvider CreateContainer(
            IServiceCollection initialCollection,
            ContextualInitializer contextualInitializer,
            out IContainer registry)
        {
            var builder = new ContainerBuilder();


            initialCollection.AddEnyimMemcached();

            builder.RegisterType <IMemcachedClient>()
            .As <IMemcachedClient>()
            .AsSelf()
            .InstancePerLifetimeScope()
            .InstancePerDependency()
            .PropertiesAutowired();

            builder.RegisterInstance(this);

            contextualInitializer?.Invoke(builder);

            registry = builder.Build();

            var provider = new AutofacServiceProvider(registry);

            return(provider);
        }
예제 #2
0
        public Application(
            IServiceCollection initialCollection,
            ContextualInitializer contextualInitializer = null)
        {
            Container = CreateContainer(initialCollection, contextualInitializer, out var reg);
            //           Log = Container.GetService<ILogger<Application>>();
            Registry = reg;
//            InitializeHumanizerDictionary();
        }