Reading integers from AppSettings over and over

I've found an answer to my problem. It involves extra work at first, but in the end, it will reduce errors.

It is found at Scott Allen's blog OdeToCode and here's my implementation:

Create a static class called Config

public static class Config {

   public static int PageSize {
       get { return int.Parse(ConfigurationManager.AppSettings["PAGE_SIZE"]); }
   }
   public static int HighlightedProductId {
     get { 
      return int.Parse(ConfigurationManager.AppSettings["HIGHLIGHT_PID"]); 
     }
   }
}

Advantage of doing this are three-fold:

  • Intellisense
  • One breakpoint (DRY)
  • Since I only am writing the Config String ONCE, I do a regular int.Parse.

If someone changes the AppSetting Key, it will break, but I can handle that, as those values aren't changed and the performance is better than a TryParse and it can be fixed in one location.

The solution is so simple... I don't know why I didn't think of it before. Call the values like so:

Config.PageSize

Config.HighlightedProductId

Yay!