Как использовать конфигурации в реальном времени в приложении ASP.NET, не перезапуская его? - PullRequest
0 голосов
/ 29 марта 2011

У меня есть приложение asp.net, которое использует сеанс для управления пользователями. Поэтому, если приложение будет перезапущено, пользователи потеряют свои работы.

У меня есть некоторые компоненты, используемые этим приложением asp.net, и эти компоненты (библиотеки классов в папке Bin) имеют конфигурации. Я хочу сохранить конфигурации этих компонентов где-нибудь и изменить их из серверной части (панель администрирования), и компоненты используют обновленные конфигурации, но приложение все равно не должно быть перезапущено (изменение web.config приведет к перезапуску приложения).

Как мне этого добиться?

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Поместите все свои конфигурации в любой XML-файл. Таким образом, даже если вы измените конфигурацию во время выполнения, приложение не будет перезапущено. Поскольку любые изменения в файле web.config перезапустят приложение.

EDIT:

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

ExeConfigurationFileMap exConfigFile = new ExeConfigurationFileMap();
exConfigFile.ExeConfigFilename = Server.MapPath("app.config");
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(exConfigFile, ConfigurationUserLevel.None);

// you can get the appSettings configuration in the app.config by this
string testConfig = config.AppSettings.Settings["Test"].Value;
0 голосов
/ 29 марта 2011

А как насчет хранения сеансов в базе данных SQL Server (или, по крайней мере, хранения их вне процесса)?
http://msdn.microsoft.com/en-us/library/system.web.sessionstate.sessionstatemode.aspx

...