/// <summary>Synchronize cached information with actual data.</summary> public void Refresh() { IList <ConfigParameterData> config; switch (_configFile) { case ConfigFile.Other: config = _configAccessor.QueryConfig.Invoke( new QueryConfigParameters(_fileName)); break; case ConfigFile.Repository: config = _configAccessor.QueryConfig.Invoke( new QueryConfigParameters()); break; case ConfigFile.System: case ConfigFile.User: config = _configAccessor.QueryConfig.Invoke( new QueryConfigParameters(_configFile)); break; default: throw new ApplicationException( string.Format(CultureInfo.InvariantCulture, "Unknown ConfigFile value: {0}", _configFile)); } lock (SyncRoot) { if (_repository != null) { CacheUpdater.UpdateObjectDictionary( _parameters, null, null, config, configParameterData => ObjectFactories.CreateConfigParameter(_repository, configParameterData), ObjectFactories.UpdateConfigParameter, InvokeCreated, InvokeDeleted, true); } else { CacheUpdater.UpdateObjectDictionary( _parameters, null, null, config, configParameterData => ObjectFactories.CreateConfigParameter(_configAccessor, configParameterData), ObjectFactories.UpdateConfigParameter, InvokeCreated, InvokeDeleted, true); } } }
public void Refresh() { var config = Repository.Accessor.QueryConfig.Invoke( new QueryConfigParameters()); lock (SyncRoot) { CacheUpdater.UpdateObjectDictionary <ConfigParameter, ConfigParameterData>( _parameters, null, null, config, configParameterData => ObjectFactories.CreateConfigParameter(Repository, configParameterData), ObjectFactories.UpdateConfigParameter, InvokeParameterCreated, InvokeParameterDeleted, true); } }