ConfigurationManager.AppSettings ["SettingName"] vs Properties.Settings.Default.SettingName, когда мне следует использовать каждый? - PullRequest
19 голосов
/ 16 декабря 2009

Что следует указывать, когда мне следует использовать файл configurationManager.AppSettings или строго типизированные настройки, которые генерирует Visual Studio? Строго типизированные в большинстве случаев кажутся более подходящими, но я полагаю, что было бы возможно динамически добавлять параметры к развернутому приложению, используя подход ConfigurationManager, но есть ли какие-либо рекомендации, при которых каждый из них предназначен для использования?

Ответы [ 4 ]

11 голосов
/ 16 декабря 2009

Из того, что я прочитал, выглядит так, будто AppSettings - это более старый способ ведения дел. MSDN документы утверждает, что пользовательские настройки могут быть записаны во время выполнения, если вы используете настройки.

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

Плюсы и минусы appSettings vs applicationSettings (.NET app.config)

6 голосов
/ 16 декабря 2009

Самое большое отличие состоит в том, что сгенерированные свойства доступны только для чтения, поэтому основная причина использовать AppSettings - это если вы хотите их записать (что редко).

И да, вы можете использовать AppSettings для динамически генерируемых настроек, но это тоже редко.

2 голосов
/ 16 декабря 2009

Использовать Properties.Settings.Default.SettingName. Но ConfigurationManager.AppSettings [”SettingName”] следует использовать только тогда, когда первое использование невозможно.

2 голосов
/ 16 декабря 2009

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

Параметры со строгим контролем типов более устойчивы, чем они ... строго типизированы.

...