Настройки приложения и настройки. настройки и настройки. менеджеры. - PullRequest
3 голосов
/ 19 декабря 2011

Хорошо, я пытаюсь изучить все возможные варианты реализации настроек приложения и пользователя, и это меня очень смущает.

В чем разница между использованием конструктора settings.settings, который создаетраздел <applicationSettings> и использование свойства ConfigurationManager.AppSettings, которое, согласно документации, создает раздел <appSettings>?

Каковы преимущества / недостатки использования конструктора settings.settings для настроек приложения / пользователя?

Прав ли я, если предположить, что классы в пространстве имен System.Configuration (в частности, класс System.Configuration.Configuration) в основном предназначены для создания пользовательских разделов?

Может что-нибудь в системе.Пространство имен конфигурации используется для создания или чтения раздела <applicationSettings> без использования конструктора settings.settings?Будет ли это просто пользовательский раздел?

Как вы можете видеть, я очень растерялся ... Я надеюсь, что мои вопросы с тех пор возникают.Пожалуйста, просто скажите мне, что вы знаете, и я буду продолжать просматривать эту документацию, пытаясь ПОНИМАТЬ.Моя проблема не в том, что я не могу выполнить работу, которая мне нужна (я могу сделать то, что мне нужно, используя settings.settings) .... Проблема на самом деле в понимании этого беспорядка и знании всех моих вариантов.

Заранее благодарим.

ОБНОВЛЕНИЕ:

Онлайн-документация Microsoft ужасна по этой теме (в основном, не существует).Я наконец нашел

http://www.codeproject.com/Articles/19675/Cracking-the-Mysteries-of-NET-2-0-Configuration

, и это все очень хорошо объяснило.Это сделало намного больше, так как после того, как я понял, что файлы конфигурации объединены!

Ответы [ 2 ]

3 голосов
/ 19 декабря 2011

Параметры settings.settings и .config (app.config, web.config и т. Д.) По сути делают одно и то же - то есть они хранят значения в XML-файле, который можно сохранить во время сеансов (settings.settings).также создает открытое свойство в файле Settings.Designer. *, чтобы конструктор VS мог читать из него).

Файл * .config - это более старый способ выполнения задач, а файл settings.setttings - это «более новый» способ выполнения действий.С помощью settings.settings у вас также есть удобный интерфейс для добавления объектов (т. Е. Непосредственно из Visual Studio вместо ручного редактирования XML).

Кроме того, с settings.settings вы получаете пользовательскую область действия иОбласть применения.Пользовательская область доступна для чтения / записи во время выполнения, хотя я считаю, что область применения только для чтения во время выполнения.

Пространство имен System.Configuration предназначено как для чтения, так и для записи в * файл конфигурации.

Хорошим вариантом для работы с файлами * .config является использование менеджера конфигурации Рика Страла.инструмент .Он создает красивый объектно-ориентированный просмотр всего файла * .config, позволяет эффективно шифровать записи и т. Д.

1 голос
/ 19 декабря 2011

Материал Settings.Settings, который вы видите, - это то, что вы хотите использовать для пользовательских настроек.Конструктор используется для установки значений по умолчанию этих настроек.Эти значения по умолчанию хранятся в файле app.config, где хранятся настройки / настройки приложения.То есть: пользовательские настройки по умолчанию сами по себе приложение настройки.

Это помогло?;)

...