i always use custom config sections

2007-11-09 @ 17:53#

i use .NET/ASP.NET config files to handle lots of details. but instead of just using the default appSettings section in the config file, i whip up custom sections as i need them. this lets me group things easily together. this is especially handy when i am building utility assemblies that will eventually get rolled into other final apps. then each utility can have it's own config section!

here's a quick example. this is the added config section in my app.config file:

<?xml version="1.0" encoding="utf-8" ?>
		<section name="SiteConfig" type="System.Configuration.NameValueSectionHandler" />
		<add key="save_folder" value="c:\"/>
		<add key="webroot" value="e:\g4\production"/>
		<add key="temproot" value="f:\g4\production"/>

and here's a simple set of functions i add to all my apps that allows me to pull an item from a named config section:

  string GetConfigItem(string section, string key)
      return GetConfigItem(section, key, string.Empty);
  string GetConfigItem(string section, string key, string defaultValue)
      NameValueCollection config_section = (NameValueCollection)ConfigurationManager.GetSection(section);
      return (config_section.Get(key) != null ? config_section.Get(key) : defaultValue);