Пример #1
0
        public SqlMainDomLock(
            ILoggerFactory loggerFactory,
            IOptions <GlobalSettings> globalSettings,
            IOptionsMonitor <ConnectionStrings> connectionStrings,
            IDbProviderFactoryCreator dbProviderFactoryCreator,
            IMainDomKeyGenerator mainDomKeyGenerator,
            DatabaseSchemaCreatorFactory databaseSchemaCreatorFactory,
            NPocoMapperCollection npocoMappers)
        {
            // unique id for our appdomain, this is more unique than the appdomain id which is just an INT counter to its safer
            _lockId          = Guid.NewGuid().ToString();
            _logger          = loggerFactory.CreateLogger <SqlMainDomLock>();
            _globalSettings  = globalSettings;
            _sqlServerSyntax = new SqlServerSyntaxProvider(_globalSettings);

            _dbFactory = new UmbracoDatabaseFactory(
                loggerFactory.CreateLogger <UmbracoDatabaseFactory>(),
                loggerFactory,
                _globalSettings,
                new MapperCollection(() => Enumerable.Empty <BaseMapper>()),
                dbProviderFactoryCreator,
                databaseSchemaCreatorFactory,
                npocoMappers,
                connectionStrings.CurrentValue.UmbracoConnectionString.ConnectionString);

            MainDomKey = MainDomKeyPrefix + "-" + mainDomKeyGenerator.GenerateKey();
        }