如何在ASP.NET应用程序中使用实时配置而不进行重新设置?

时间:2011-03-29 02:38:36

标签: asp.net configuration web-config filesystemwatcher

我有一个asp.net应用程序,它使用会话进行用户管理。因此,如果重新启动应用程序,用户将失去他们的工作。

我有一些这个asp.net应用程序使用的组件,那些组件(Bin文件夹中的类库)有配置。我想在某处保存这些组件的配置并从后端(管理面板)更改它们,组件使用更新的配置但仍然不应重新启动应用程序(更改web.config将导致应用程序重新启动)。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

将所有配置放在任何xml文件中。这种方式即使您在运行时更改配置,也不会重新启动应用程序。由于web.config中的任何更改都将重新启动应用程序。

编辑:

我发现了一些内容,您可以在网络应用程序中添加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;

答案 1 :(得分:0)

如何在SQL Server数据库中存储会话(或者至少将它们存储在进程外)? http://msdn.microsoft.com/en-us/library/system.web.sessionstate.sessionstatemode.aspx