Beispiel #1
0
        public IConfig Load(string configKey)
        {
            var configs = new ConfigCollection();

            LoadConfigsIntoCollection(configKey, configs);
            if (configs.Contains(configKey))
            {
                return(configs[configKey]);
            }
            return(null);
        }
Beispiel #2
0
        public IConfig GetConfigSection(string section)
        {
            var key = string.Format("{0}:{1}", ConfigKey, section);

            if (innerConfigurations.Contains(key))
            {
                return(innerConfigurations[key]);
            }
            lock (padlock) {
                if (!innerConfigurations.Contains(key))
                {
                    var node          = ConfigXml.SelectSingleNode(section);
                    var configElement = node as XmlElement;

                    if (configElement == null)
                    {
                        return(null);
                    }

                    innerConfigurations.Add(new Config(key, configElement));
                }
            }
            return(innerConfigurations[key]);
        }
Beispiel #3
0
 private void LoadConfigsIntoCollectionFromFiles(string pattern, ConfigCollection configs)
 {
     if (pattern.IndexOfAny(IllegalPathCharacters) < 0)
     {
         var files = GetFiles(pattern);
         foreach (var file in files)
         {
             var configFromFile = FileConfigFactory.Create(file, AddFileWatchers);
             if (!configs.Contains(configFromFile.ConfigKey))
             {
                 configs.Add(configFromFile);
             }
         }
     }
 }