Vantaggi di AppSettingsReader di Net vs ConfigurationManager per le impostazioni di configurazione dell'applicazione di lettura
-
29-09-2019 - |
Domanda
C'è una differenza sostanziale tra la classe AppSettingsReader e il membro AppSettings della classe ConfigurationManager in Net 3.5?
Sto costruendo qualche codice legacy e uno sviluppatore precedente utilizzato AppSettingsReader.GetValue (), mentre io sono più inclini a usare ConfigurationManager.AppSettings.Get ().
Guardando gli interni, AppSettingReader sembra essere più typesafe, ma il suo utilizzo sembra un po 'più dettagliato. Se le impostazioni applicazioni Mi sto il recupero sono ben noti e abbastanza statico, c'è qualche vantaggio di utilizzare AppSettingsReader?
Soluzione
Non proprio. Internamente AppSettingsReader appena usato le ConfigurationManager.AppSettings.
Non è fondamentalmente solo un po 'di peluria attorno controllando che esiste, verificando che ciò che sta accadendo è ok etc.
Una cosa è però che sarà un'eccezione quando non v'è nessun elemento nei AppSettings ..
// From CTOR
this.map = ConfigurationManager.AppSettings;
....
public object GetValue(string key, Type type)
...
string item = this.map[key];
if (item == null)
{
throw new InvalidOperationException(SR.GetString("AppSettingsReaderNoKey", new object[] { key }));
}
Credo che la maggior parte delle persone basta usare ConfigurationManager, ma la vera risposta è 'wahtever galleggia la vostra barca'.