Example #1
0
        /// <summary>
        /// Configure IoC for 2sxc. If it's already configured, do nothing.
        /// </summary>
        public void Configure()
        {
            if (_alreadyConfigured)
            {
                return;
            }

            var appsCache = GetAppsCacheOverride();

            Factory.ActivateNetCoreDi(services =>
            {
                services
                .AddDnn(appsCache)
                .AddAdamWebApi <int, int>()
                .AddSxcWebApi()
                .AddSxcCore()
                .AddEav();
            });

            // now we should be able to instantiate registration of DB
            Factory.StaticBuild <IDbConfiguration>().ConnectionString = ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString;
            var globalConfig = Factory.StaticBuild <IGlobalConfiguration>();

            globalConfig.GlobalFolder = HostingEnvironment.MapPath(DnnConstants.SysFolderRootVirtual);

            // also register this because of a long DNN issue which was fixed, but we don't know if we're running in another version
            SharpZipLibRedirect.RegisterSharpZipLibRedirect();
            ConfigurePolymorphResolvers();
            _alreadyConfigured = true;
        }