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;
}
}
}
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.








Stampa
Snippet
Download 



Inserire un blocco try catch per i valori di parametri di configurazione numerici mi sembra non sia molto performante perché nel caso di parametri non...
Continua »»» | Rispondi »»»