BetterCms.Core.CmsContext.InitializeContainer C# (CSharp) Method

InitializeContainer() public static method

Creates the configured BetterCMS root dependencies container.
public static InitializeContainer ( ContainerBuilder builder = null ) : ContainerBuilder
builder Autofac.ContainerBuilder
return Autofac.ContainerBuilder
        public static ContainerBuilder InitializeContainer(ContainerBuilder builder = null)
        {
            if (builder == null)
            {
                builder = new ContainerBuilder();
            }

            if (isStarted)
            {
                return builder;
            }

            builder = WebApplicationContext.InitializeContainer(builder, Config);
            builder.RegisterType<DefaultTextEncryptor>().As<ITextEncryptor>().SingleInstance();

            builder.RegisterType<CmsModulesRegistration>()
                .As<IModulesRegistration>()
                .As<IWebModulesRegistration>()
                .As<ICmsModulesRegistration>()
                .SingleInstance();

            builder.RegisterInstance(Config)
                .As<ICmsConfiguration>()
                .As<IWebConfiguration>()
                .As<IConfiguration>()
                .SingleInstance();

            builder.RegisterType<DefaultCmsHost>()
                .As<IWebApplicationHost>()
                .As<ICmsHost>()
                .SingleInstance();

            RegisterCacheService(builder);
            RegisterStorageService(builder);

            isStarted = true;

            return builder;
        }