Как правильно хранить настройки веб-приложения (ASP.NET)? - CodeHelper

Как правильно хранить настройки веб-приложения (ASP.NET)?

2

Как правильно хранить изменяемые пользователем (администратором) настройки веб-приложения? Возможные варианты:

  • Использовать механизм Settings, то есть хранить настройки в .config файле. Но при таком подходе файл конфигурации должен быть доступен на запись, что может быть не очень хорошо для веб-приложения.
  • Использовать специальную таблицу в базе. Если использовать базу, то какую структуру таблицы выбрать — своя колонка для каждого свойства и всего одна строка в таблице или два поля типа key и value и хранить по одной строке на каждое свойство?

Дополнение. Речь идет о глобальных настройках, действующих на всё приложение. Например, в различных CMS типичные настройки приложения — домен сайта, название сайта, e-mail администратора и т.п. Большинство CMS написанных php хранят такие натсройки в базе данных. Но в .NET есть специальный механизм для хранения настроек в файле Web.config. Вот и хотелось узнать, применим ли этот механизм для веб-приложений или лучше использовать базу данных?

Новые ответы


1

Во многих приложениях необходимо хранить и использовать уникальную для пользователя информацию. При посещении веб-узла пользователем можно использовать сохраненную информацию, чтобы представить пользователю персонализированную версию веб-приложения. Для персонализации приложения необходим ряд элементов: необходимо хранить информацию с помощью уникального идентификатора пользователя, иметь возможность распознавать пользователей при повторном посещении и извлекать сведения о пользователе по мере необходимости. Для упрощения приложений можно использовать функцию профилей ASP.NET, способную выполнять все эти задачи.

Функция профилей ASP.NET связывает информацию с отдельным пользователем и хранит ее в постоянном формате. Профили позволяют управлять сведениями о пользователях без необходимости создавать и поддерживать собственную базу данных. Кроме того, функция профилей ASP.NET предоставляет пользовательские сведения, используя интерфейс API со строгой типизацией, который доступен в любой части приложения.

С помощью профилей можно хранить объекты любого типа. Функция профилей обеспечивает функцию универсального хранения, позволяющую определять и поддерживать практически любой тип данных; данные при этом по-прежнему предоставляются со строгой типизацией.

Подробности в МСДН

Fish

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


v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.