public override void Load()
        {
            var data = new SortedDictionary<string, string>(StringComparer.OrdinalIgnoreCase);
            var enumerator = new EnvironmentVariablesEnumerator(mustStartWith, separator);

            try
            {
                foreach (var item in enumerator.GetItems(Environment.GetEnvironmentVariables()))
                {
                    var key = item.Key;

                    if (!string.IsNullOrEmpty(this.root))
                    {
                        key = ConfigurationPath.Combine(this.root, key);
                    }

                    if (data.ContainsKey(key))
                    {
                        throw new FormatException(string.Format($"The key '{key}' is duplicated."));
                    }
                    data[key] = item.Value;
                }

                Data = data;
            }
            catch (Exception ex)
            {
                logger?.Log(new LogEntry(LogLevel.Error, string.Empty, $"{nameof(EnvironmentVariablesProvider)}.Load", ex));
            }
        }
コード例 #2
0
        public override void Load()
        {
            var data       = new SortedDictionary <string, string>(StringComparer.OrdinalIgnoreCase);
            var enumerator = new EnvironmentVariablesEnumerator(mustStartWith, separator);

            try
            {
                foreach (var item in enumerator.GetItems(Environment.GetEnvironmentVariables()))
                {
                    var key = item.Key;

                    if (!string.IsNullOrEmpty(this.root))
                    {
                        key = ConfigurationPath.Combine(this.root, key);
                    }

                    if (data.ContainsKey(key))
                    {
                        throw new FormatException(string.Format($"The key '{key}' is duplicated."));
                    }
                    data[key] = item.Value;
                }

                Data = data;
            }
            catch (Exception ex)
            {
                logger?.Log(new LogEntry(LogLevel.Error, string.Empty, $"{nameof(EnvironmentVariablesProvider)}.Load", ex));
            }
        }