Exemplo n.º 1
0
        /// <summary>
        /// Loads the current configuration. This is forced onto a single thread.
        /// </summary>
        /// <param name="forceLoad"></param>
        private void LoadConfiguration(bool forceLoad)
        {
            lock (_SyncLock) {
                if (forceLoad || _Configuration == null)
                {
                    if (_ConfigurationStorage == null)
                    {
                        _ConfigurationListener = Factory.Resolve <IConfigurationListener>();
                        _ConfigurationListener.PropertyChanged += ConfigurationListener_PropertyChanged;

                        _ConfigurationStorage = Factory.ResolveSingleton <IConfigurationStorage>();
                        _ConfigurationStorage.ConfigurationChanged += ConfigurationStorage_ConfigurationChanged;

                        _Subscribers = new List <WeakReference <ISharedConfigurationSubscriber> >();

                        var heartbeat = Factory.ResolveSingleton <IHeartbeatService>();
                        heartbeat.SlowTick += HeartBeat_SlowTick;
                    }

                    if (_Configuration != null)
                    {
                        _ConfigurationListener.Release();
                    }

                    var configuration = _ConfigurationStorage.Load();
                    _ConfigurationLoadedUtc = DateTime.UtcNow;
                    _ConfigurationListener.Initialise(configuration);

                    _Configuration = configuration;
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Loads the current configuration. This is forced onto a single thread.
        /// </summary>
        /// <param name="forceLoad"></param>
        private void LoadConfiguration(bool forceLoad)
        {
            lock (_SyncLock) {
                if (forceLoad || _Configuration == null)
                {
                    if (_ConfigurationStorage == null)
                    {
                        _ConfigurationListener = Factory.Singleton.Resolve <IConfigurationListener>();
                        _ConfigurationListener.PropertyChanged += ConfigurationListener_PropertyChanged;

                        _ConfigurationStorage = Factory.Singleton.Resolve <IConfigurationStorage>().Singleton;
                        _ConfigurationStorage.ConfigurationChanged += ConfigurationStorage_ConfigurationChanged;
                    }

                    if (_Configuration != null)
                    {
                        _ConfigurationListener.Release();
                    }

                    var configuration = _ConfigurationStorage.Load();
                    _ConfigurationListener.Initialise(configuration);

                    _Configuration = configuration;
                }
            }
        }