public SyncBootStateAccessor(
     ILogger <SyncBootStateAccessor> logger,
     LastSyncedFileManager lastSyncedFileManager,
     IOptions <GlobalSettings> globalSettings,
     ICacheInstructionService cacheInstructionService)
 {
     _logger = logger;
     _lastSyncedFileManager   = lastSyncedFileManager;
     _globalSettings          = globalSettings.Value;
     _cacheInstructionService = cacheInstructionService;
 }
        public SyncBootStateAccessor(
            ILogger <SyncBootStateAccessor> logger,
            LastSyncedFileManager lastSyncedFileManager,
            IOptionsMonitor <GlobalSettings> globalSettings,
            ICacheInstructionService cacheInstructionService)
        {
            _logger = logger;
            _lastSyncedFileManager   = lastSyncedFileManager;
            _globalSettings          = globalSettings.CurrentValue;
            _cacheInstructionService = cacheInstructionService;

            globalSettings.OnChange(x => _globalSettings = x);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="BatchedDatabaseServerMessenger"/> class.
 /// </summary>
 public BatchedDatabaseServerMessenger(
     IMainDom mainDom,
     CacheRefresherCollection cacheRefreshers,
     IServerRoleAccessor serverRoleAccessor,
     ILogger <BatchedDatabaseServerMessenger> logger,
     ISyncBootStateAccessor syncBootStateAccessor,
     IHostingEnvironment hostingEnvironment,
     ICacheInstructionService cacheInstructionService,
     IJsonSerializer jsonSerializer,
     IRequestCache requestCache,
     IRequestAccessor requestAccessor,
     LastSyncedFileManager lastSyncedFileManager,
     IOptions <GlobalSettings> globalSettings)
     : base(mainDom, cacheRefreshers, serverRoleAccessor, logger, true, syncBootStateAccessor, hostingEnvironment, cacheInstructionService, jsonSerializer, lastSyncedFileManager, globalSettings)
 {
     _requestCache    = requestCache;
     _requestAccessor = requestAccessor;
 }
예제 #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DatabaseServerMessenger"/> class.
        /// </summary>
        protected DatabaseServerMessenger(
            IMainDom mainDom,
            CacheRefresherCollection cacheRefreshers,
            IServerRoleAccessor serverRoleAccessor,
            ILogger <DatabaseServerMessenger> logger,
            bool distributedEnabled,
            ISyncBootStateAccessor syncBootStateAccessor,
            IHostingEnvironment hostingEnvironment,
            ICacheInstructionService cacheInstructionService,
            IJsonSerializer jsonSerializer,
            LastSyncedFileManager lastSyncedFileManager,
            IOptionsMonitor <GlobalSettings> globalSettings)
            : base(distributedEnabled)
        {
            _cancellationToken  = _cancellationTokenSource.Token;
            _mainDom            = mainDom;
            _cacheRefreshers    = cacheRefreshers;
            _serverRoleAccessor = serverRoleAccessor;
            _hostingEnvironment = hostingEnvironment;
            Logger = logger;
            _syncBootStateAccessor  = syncBootStateAccessor;
            CacheInstructionService = cacheInstructionService;
            JsonSerializer          = jsonSerializer;
            _lastSyncedFileManager  = lastSyncedFileManager;
            GlobalSettings          = globalSettings.CurrentValue;
            _lastPruned             = _lastSync = DateTime.UtcNow;
            _syncIdle = new ManualResetEvent(true);

            globalSettings.OnChange(x => GlobalSettings = x);
            using (var process = Process.GetCurrentProcess())
            {
                // See notes on _localIdentity
                LocalIdentity = Environment.MachineName                          // eg DOMAIN\SERVER
                                + "/" + hostingEnvironment.ApplicationId         // eg /LM/S3SVC/11/ROOT
                                + " [P" + process.Id                             // eg 1234
                                + "/D" + AppDomain.CurrentDomain.Id              // eg 22
                                + "] " + Guid.NewGuid().ToString("N").ToUpper(); // make it truly unique
            }
            _initialized = new Lazy <SyncBootState?>(InitializeWithMainDom);
        }