Beispiel #1
0
 public void Add(NameValueCollection nvc, KeyValueOrigin.Source origin)
 {
     nvc.IsNullThrow(nameof(nvc));
     for (int i = 0; i < nvc.Count; ++i)
     {
         Add(nvc.GetKey(i), nvc.Get(i), origin);
     }
 }
Beispiel #2
0
 public void Add(string key, string value, KeyValueOrigin.Source origin, bool replace = false)
 {
     if (replace)
     {
         dictionary[key] = new KeyValueOrigin(key, value, origin);
     }
     else
     {
         dictionary.Add(key, new KeyValueOrigin(key, value, origin));
     }
 }
Beispiel #3
0
 protected virtual void ConfigureApplication(string[] args)
 {
     // command line overrides configuration file
     // -dev DeveloperMode - Login database combo box to allow selection or not
     // -use "key or connection string" UseConnection - Works one of three ways
     // 1.  If omitted, ConfigurationManager.ConnectionStrings[Default] or ConfigurationManager.ConnectionStrings[0] is used (in that order)
     // 2.  Specifies the connection string to use
     // 3.  Specifies the key as in ConfigurationManager.ConnectionStrings[key] to use
     log.Info("Process application configuration file.");
     settings.Add(ConfigurationManager.AppSettings, KeyValueOrigin.Source.AppConfig);
     connectionStrings = ConfigurationManager.ConnectionStrings;
     foreach (ConnectionStringSettings css in connectionStrings)
     {
         KeyValueOrigin.Source origin = KeyValueOrigin.Source.AppConfig;
         // Find a better way to determine if a setting was inherited from MACHINE.config
         if (0 == string.Compare(css.Name, "LocalSqlServer", StringComparison.Ordinal))
         {
             origin = KeyValueOrigin.Source.MachineConfig;
         }
         settings.Add(css.Name, css.ConnectionString, origin);
     }
     log.Info("Process command line.");
     for (int i = 0; i < args.Length; ++i)
     {
         string s = args[i];
         if (s.StartsWith("-dev", StringComparison.OrdinalIgnoreCase))
         {
             settings.Add("DeveloperMode", "true", KeyValueOrigin.Source.CommandLine);
         }
         if (s.StartsWith("-use", StringComparison.OrdinalIgnoreCase) && args.Length >= (i + 2))
         {
             settings.Add("UseConnection", args[i + 1], KeyValueOrigin.Source.CommandLine, true);
         }
     }
     foreach (DictionaryEntry de in Environment.GetEnvironmentVariables())
     {
         Settings.Add(de.Key.ToString(), de.Value.ToString(), KeyValueOrigin.Source.Environment);
     }
     log.Debug("Global application configuration settings:");
     foreach (KeyValueOrigin nvo in settings.Settings)
     {
         log.DebugFormat("  {0, -15}{1, -25}{2}", nvo.Origin.ToString(), nvo.Key, nvo.Value);
     }
 }