Опасения ConfigurationManager.AppSettings Производительность

я планирую хранить все мои настройки конфигурации в моем приложении app.config раздела (с помощью ConfigurationManager.AppSettings класса). Как пользователь изменяет настройки с помощью интерфейса приложения (нажав флажки, выбирая переключатели и др.), Я план к писать эти изменения к AppSettings. В то же время, во время работы программы я планирую быть доступ к AppSettings постоянно от процесса, который будет постоянно обработки данных. Изменения параметров с помощью пользовательского интерфейса должны повлиять на обработку данных в реальном времени, поэтому процесс будет осуществляться доступ к AppSettings постоянно.

это хорошая идея с точки зрения производительности? С помощью AppSettings должен быть "правильный путь" для хранения и доступа к параметрам конфигурации при написании .Net приложения, но боюсь, что этот метод не предназначен для постоянной нагрузкой (по крайней мере, с точки зрения настройки постоянно читать).

Если кто-то имеет опыт работы с этим, я был бы чрезвычайно признателен ввода.

Обновление: я, наверное, должен пояснить несколько моментов.

Это не является веб-приложением, поэтому подключение к базе данных приложения может оказаться избыточным, просто для хранения параметров конфигурации. Это приложение Windows Forms.

Согласно документации MSDN, в менеджере конфигурации для хранения не только на уровне приложения настройки, но пользовательские параметры, как хорошо. (Особенно важно, если, например, программа устанавливается в виде приложения частичного доверия.)

Обновление 2: я принял lomaxx ответ, потому что Свойства действительно выглядят как хорошее решение, без необходимости добавления дополнительных слоев моего приложения (например, базы данных). При использовании Свойств, оно уже делает все, что кэширование другие предлагали. Это означает, что любые изменения, а затем считывает все было сделано в памяти, что делает его чрезвычайно быстро. Свойства только для записи изменений на диск, когда вы явно не скажете ей об этом. Это означает, что можно внести изменения в параметры настройки " на лету " во время выполнения, а затем только делать окончательные сохранить на диск при выходе из программы.

Просто, чтобы проверить, как он сможет справиться с нагрузкой мне нужно, я провел некоторые исследования на моем ноутбуке, и смог сделать 750,000 читает и 7500 пишет в секунду, используя Свойства. Что так намного выше и шире, чем мое заявление будет когда-либо даже приблизиться к необходимости что я чувствую себя вполне безопасно в использовании Свойств без ущерба для производительности.

Найдено 9 ответов:

ConfigurationManager.AppSettings Performance Concerns

http://stackoverflow.com/questions/4157/configurationmanager-appsettings-performance-concerns

Посмотреть решение →