2013-09-10 3 views
1

Я создаю простую MVC CMS, для которой мне нужна первая настройка времени запуска (для настройки учетной записи базы данных и администратора, и т. Д.).Конфигурация первого запуска (ASP MVC 4)

Экран установки запросит у них строку подключения к базе данных, поэтому при первом запуске не известно о хранилище базы данных.

Как я могу обнаружить, что это первый раз, когда приложение запускается и выводит их на этот экран настройки?

Должен ли я поставить установку в web.config с начальным значением ложной:

<add key="SetupComplete" value="false" /> 

И после того, как установка завершена, я могу изменить его с помощью:

ConfigurationManager.AppSettings.Set("SetupComplete", "True"); 

крушению этого метода заключается в том, что если приложение перезапускается, значение конфигурации по умолчанию будет «false». Что является хорошим решением этой проблемы?

+0

как вы планируете сохранить строку подключения db? – muratgu

+0

Web.config предназначен для статической конфигурации. Если вам нужна динамическая конфигурация, вы должны использовать другой файл. – rossipedia

ответ

1

Многие PHP CMS делают то же самое, что вы хотите сделать, так как это первоначальная настройка, было бы хорошо, если администратор изменит это значение вручную или вы просто проверите наличие файла, который необходимо удалить вручную. Как приложение IIS, я бы построил пакет развертывания, поэтому вы можете настроить начальные настройки во время процесса установки, что является распространенным способом для приложений IIS, которые я думаю.

0

В прошлом я внедрил обычай SettingsProvider (пример: here и here). Особое внимание было уделено безопасности, обеспечивающее шифрование ключей. Образцы не идеальны. Вы можете использовать Application Settings, предоставленные Visual Studio и .NET 2.0, для хранения настроек в формате (например, xml) и местоположении по вашему выбору (например, AppData).

Это более безопасно, чем позволять вашему приложению изменять ваш web.config, поскольку последнее означает, что вы должны повысить привилегии своего процесса, что может быть довольно опасным, когда ваше приложение открыто в Интернете.

Он также упрощает резервное копирование и обновление.

Смежные вопросы