Creare una classe helper per leggere il web.config

di Riccardo Golia, in UserScript, ASP.NET, web.config,

All'interno del web.config, nell'ambito della sezione appSettings, vengono spesso inseriti i parametri di configurazione e funzionamento dell'applicazione. Questi parametri sono accessibili da codice tramite la collection AppSettings della classe statica ConfigurationSetting presente nel namespace System.Configuration. Dato che AppSettings è di tipo NameValueCollection, ciascun elemento è una stringa, indipendentemente dalla tipologia del parametro di configurazione.
In taluni contesti può essere utile incapsulare in una classe helper la lettura dei vari parametri di configurazione. In questo modo diventa possibile associare a ciascun parametro una proprietà tipizzata in linea col valore associato (non solo stringhe). Ciascuna proprietà include il codice per la conversione del valore dal tipo String al tipo di ritorno.

La classe helper è di tipo statico: è sealed, ovvero non derivabile, ha il costruttore di default privato (quindi non è possibile creare una istanza del tipo) e tutti i membri definiti come statici.

using System;
using System.Configuration;

public sealed class ConfigHelper
{
  private ConfigHelper()
  {
  }

  public static string ConnectionString
  {
    get { return ConfigurationSettings.AppSettings["ConnectionString"]; }
  }

  public static int PageSize
  {
    get
    {
      int size = 20;
      try { size = Int32.Parse(ConfigurationSettings.AppSettings["PageSize"]); }
      catch { size = 20; }
      if(size <= 0)
        size = 20;
      return size;
    }
  }

  public static int CacheTimeout
  {
    get
    {
      int timeout = 20;
      try { timeout = Int32.Parse(ConfigurationSettings.AppSettings["CacheTimeout"]); }
      catch { timeout = 20; }
      if(timeout <= 0)
        timeout = 20;
      return timeout;
    }
  }
}

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi