За и против AppSettings по сравнению с applicationSettings (.NET app.config / Web.config)

160
задан Matt 22 June 2017 в 11:03
поделиться

3 ответа

Основное <appSettings> легче иметь дело с - просто хлопают по <add key="...." value="..." /> запись, и Вы сделаны.

оборотная сторона: нет никакой проверки типа, например, Вы не можете безопасно принять свое число, которое Вы хотели настроить там, действительно число - кто-то мог поместить строку в ту установку..... Вы просто получаете доступ к нему как ConfigurationManager["(key)"] и затем Вам решать знать то, с чем Вы имеете дело.

кроме того, со временем, эти <appSettings> может стать довольно замысловатым и грязным, если много частей Вашего приложения начинает помещать материал там (помните старый windows.ini файл? :-)).

, Если бы Вы можете, я предпочел бы и рекомендовал бы использовать Ваши собственные разделы конфигурации - с.NET 2.0, этим действительно становятся довольно легким, Тот путь, Вы можете:

  • a) Определяют Ваши параметры конфигурации в коде и имеют их безопасный с точки зрения типов и проверили
  • b), который можно чисто разделить ВАШ настройки от всех else's. И можно снова использовать код конфигурации, также!

существует ряд действительно хороших статей о Вас для демистифицирования.NET 2,0 системы конфигурации на CodeProject:

  1. Распутывание тайн.NET 2,0 конфигурации

  2. Декодирование тайн.NET 2,0 конфигурации

  3. Взламывание тайн.NET 2,0 конфигурации

Наиболее рекомендуемый! Jon Rista сделал отличную работу, объяснив систему конфигурации в.NET 2.0.

145
ответ дан Luis 23 November 2019 в 21:32
поделиться

Параметрами настройки приложения можно управлять от разработчика (обычно существует файл Settings.settings по умолчанию), так его более легкое для изменения, и можно получить доступ к ним программно через класс Настроек, где они появляются как свойство со строгим контролем типов. У Вас могут также быть приложение и настройки уровня пользователя, а также настройки по умолчанию для отката.

Это доступно от.NET 2.0 вперед и удерживает от использования другой способ сделать его (насколько я могу сказать).

[еще 113] в подробной информации предоставляют: msdn.microsoft.com/en-us/library/k4s6c3a0.aspx

20
ответ дан iliketocode 23 November 2019 в 21:32
поделиться

Мне нравится работать с более простой версией для хранения и доступа к отдельным значениям.

<appSettings>
    <add key="MyConfigKey" value="true"/>
</appSettings>

Я написал служебный класс для доступа к значениям безопасным способом, который позволяет использовать значения по умолчанию. Если значения по умолчанию не указаны, выводятся полезные сообщения об исключениях.

Вы можете увидеть / загрузить класс здесь:

http://www.drewnoakes.com/code/util/app-settings-util/

9
ответ дан 23 November 2019 в 21:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: