Beneficios de AppSettingsReader de .Net vs ConfigurationManager para los valores de configuración de aplicaciones de lectura
-
29-09-2019 - |
Pregunta
¿Hay una diferencia sustancial entre la clase AppSettingsReader y el miembro de la clase AppSettings ConfigurationManager en .Net 3.5?
Estoy construyendo un vistazo a algunos de código heredado y un desarrollador anterior utilizado AppSettingsReader.GetValue (), mientras que yo soy más propenso a utilizar ConfigurationManager.AppSettings.Get ().
En cuanto a los componentes internos, AppSettingReader parece ser más typesafe, pero su uso parece un poco más detallado. Si la configuración de la aplicación Me estoy recuperando son bien conocidas y bastante estática, ¿hay algún beneficio de usar AppSettingsReader?
Solución
En realidad no. Internamente AppSettingsReader acaba de utilizar los ConfigurationManager.AppSettings.
Hay, básicamente, sólo un poco de pelusa alrededor de la comprobación de que existe, comprobando que lo que está pasando está bien, etc.
Una cosa es sin embargo que va a lanzar una excepción cuando no hay ningún elemento en los 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 }));
}
Creo que la mayoría de la gente sólo tiene que utilizar ConfigurationManager pero la verdadera respuesta es 'wahtever flota su barco'.