Microsoft.AspNet.WebHooks.WebHookReceiverConfig.ReadSettings C# (CSharp) Méthode

ReadSettings() static private méthode

static private ReadSettings ( SettingsDictionary settings, ILogger logger ) : string>.IDictionary
settings SettingsDictionary
logger ILogger
Résultat string>.IDictionary
        internal static IDictionary<string, string> ReadSettings(SettingsDictionary settings, ILogger logger)
        {
            IDictionary<string, string> config = new Dictionary<string, string>();
            foreach (KeyValuePair<string, string> setting in settings)
            {
                string key = setting.Key;
                if (key.Length > ConfigKeyPrefix.Length && key.StartsWith(ConfigKeyPrefix, StringComparison.OrdinalIgnoreCase))
                {
                    // Extract receiver name
                    string receiver = key.Substring(ConfigKeyPrefix.Length);

                    // Parse values
                    string[] segments = setting.Value.SplitAndTrim(',');
                    foreach (string segment in segments)
                    {
                        string[] values = segment.SplitAndTrim('=');
                        if (values.Length == 1)
                        {
                            AddKey(config, logger, receiver, string.Empty, values[0]);
                        }
                        else if (values.Length == 2)
                        {
                            AddKey(config, logger, receiver, values[0], values[1]);
                        }
                        else
                        {
                            string msg = string.Format(CultureInfo.CurrentCulture, ReceiverResources.Config_BadValue, key);
                            logger.Error(msg);
                            throw new InvalidOperationException(msg);
                        }
                    }
                }
            }

            if (config.Count == 0)
            {
                string format = ConfigKeyPrefix + "<receiver>";
                string msg = string.Format(CultureInfo.CurrentCulture, ReceiverResources.Config_NoConfig, format);
                logger.Error(msg);
            }

            return config;
        }

Usage Example

Exemple #1
0
        public void ReadSettings_Parses_ValidValues(IDictionary <string, string> input, IDictionary <string, string> expected)
        {
            // Arrange
            SettingsDictionary settings = GetSettings(input);

            // Act
            IDictionary <string, string> actual = WebHookReceiverConfig.ReadSettings(settings, logger: null);

            // Assert
            Assert.Equal(expected, actual);
        }
All Usage Examples Of Microsoft.AspNet.WebHooks.WebHookReceiverConfig::ReadSettings