2010-08-16 2 views
4

Существует ли существенная разница между классом AppSettingsReader и членом AppSettings класса ConfigurationManager в .NET 3.5?Преимущества AppSettingsReader .Net и ConfigurationManager для чтения настроек конфигурации приложения

Я создаю какой-то старый код, а предыдущий разработчик использовал AppSettingsReader.GetValue(), тогда как я более склонен использовать ConfigurationManager.AppSettings.Get().

Глядя на внутренности, AppSettingReader кажется более типичным, но его использование кажется несколько более подробным. Если настройки приложения, которые я извлекаю, хорошо известны и довольно статичны, есть ли какая-либо польза от использования AppSettingsReader?

ответ

4

Не совсем. Внутренне AppSettingsReader просто использовал ConfigurationManager.AppSettings.

Существует в основном только немного пуха вокруг проверки, что он существует, проверив, что происходит в порядке и т.д.

Одно, однако, что он будет бросать исключение, когда нет ни одного элемента в 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 })); 
     } 

Я думаю, что большинство людей просто использовать ConfigurationManager, но реальный ответ «wahtever плывет лодка».

Смежные вопросы