ConfigurationManager.AppSettings Caching

A quick test seems to show that these settings are only loaded at application startup. //edit the config file now. Console.ReadLine(); Console.WriteLine(ConfigurationManager.AppSettings[“ApplicationName”].ToString()); Console.WriteLine(“Press enter to redisplay”); //edit the config file again now. Console.ReadLine(); Console.WriteLine(ConfigurationManager.AppSettings[“ApplicationName”].ToString()); Console.ReadLine(); You’ll see that all outputs remain the same.

System.Configuration.ConfigurationManager not available?

Although the using System.Configuration; command is automatically generated in the using section, for some reason the actual reference is not set. Go into add reference, .Net tab, and choose System.Configuration. ConfigurationManager will now be resolved. If you go to the project where the exact same setup works just fine and look at the references, you … Read more

Loading System.ServiceModel configuration section using ConfigurationManager

http://mostlytech.blogspot.com/2007/11/programmatically-enumerate-wcf.html // Automagically find all client endpoints defined in app.config ClientSection clientSection = ConfigurationManager.GetSection(“system.serviceModel/client”) as ClientSection; ChannelEndpointElementCollection endpointCollection = clientSection.ElementInformation.Properties[string.Empty].Value as ChannelEndpointElementCollection; List<string> endpointNames = new List<string>(); foreach (ChannelEndpointElement endpointElement in endpointCollection) { endpointNames.Add(endpointElement.Name); } // use endpointNames somehow … Appears to work well.

How to get the values of a ConfigurationSection of type NameValueSectionHandler

Suffered from exact issue. Problem was because of NameValueSectionHandler in .config file. You should use AppSettingsSection instead: <configuration> <configSections> <section name=”DEV” type=”System.Configuration.AppSettingsSection” /> <section name=”TEST” type=”System.Configuration.AppSettingsSection” /> </configSections> <TEST> <add key=”key” value=”value1″ /> </TEST> <DEV> <add key=”key” value=”value2″ /> </DEV> </configuration> then in C# code: AppSettingsSection section = (AppSettingsSection)ConfigurationManager.GetSection(“TEST”); btw NameValueSectionHandler is not supported any … Read more

Error: The name ‘ConfigurationManager’ does not exist in the current context

You need to reference System.Configuration.dll in your project as well as the “using” statement. Namespaces are (sometimes) “split” across assemblies. That means that types in a single namespace are actually in different assemblies. To determine which assembly a BCL or FCL type is in, look it up on MSDN. If you look at the help … Read more

ConfigurationManager.AppSettings – How to modify and save?

I know I’m late 🙂 But this how i do it: public static void AddOrUpdateAppSettings(string key, string value) { try { var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var settings = configFile.AppSettings.Settings; if (settings[key] == null) { settings.Add(key, value); } else { settings[key].Value = value; } configFile.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name); } catch (ConfigurationErrorsException) { Console.WriteLine(“Error writing app settings”); } } … Read more

What’s the difference between the WebConfigurationManager and the ConfigurationManager?

WebConfigurationManger knows how to deal with configuration inheritance within a web application. As you know, there could be several web.config files in one applicaion – one in the root of the site and any number in subdirectories. You can pass path to the GetSection() method to get possible overridden config. If we’d looke at WebConfigurationManager … Read more