Evitare errori in mancanza di una chiave nel web.config

Daniele Bochicchio

di , in ASP.NET, web.config, C#,

Il web.config è il luogo ideale per memorizzare le impostazioni della nostra applicazione ASP.NET, dato che è centralizzato.
Ci sono casi in cui però si creano assemblies il cui utilizzo è condiviso da più applicazioni, ad esempio sfruttando la GAC, e si vuole evitare che l'accesso ad una chiave non esistente generi un errore, fornendo quindi un corrispettivo valore di default.
In casi come questi è sufficiente creare in una helper class un metodo statico che verifichi se la chiave esiste, estrandone il corrispettivo valore in caso positivo, piuttosto che inviare quello di default, specificato nel codice:

string username = Utils.SafeRead("username", "aspnet");

// file con helper class
public static string SafeRead(string keyName, string defaultValue)
{
  try
   {
     return ConfigurationSettings.AppSettings[keyName] as string;
   }
   catch
   {
      return defaultValue;
   }
}