如何在ASP.NET应用程序中使用实时配置而不重新启动它?

如何在ASP.NET应用程序中使用实时配置而不重新启动它?,asp.net,configuration,web-config,filesystemwatcher,Asp.net,Configuration,Web Config,Filesystemwatcher,我有一个asp.net应用程序,它使用会话进行用户管理。因此,如果应用程序重新启动,用户将失去他们的工作 我有一些asp.net应用程序使用的组件,这些组件(位于Bin文件夹中的类库)具有配置。我想将这些组件的配置保存在某个地方,并从后端(管理面板)更改它们,这些组件使用更新的配置,但应用程序仍不应重新启动(更改web.config将导致应用程序重新启动) 如何实现这一点?将所有配置放在任何xml文件中。这样,即使您在运行时更改配置,应用程序也不会重新启动。因为web.config中的任何更改都

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

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


如何实现这一点?

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

编辑: 我发现了一些东西,您可以向web应用程序添加一个
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;

在SQL Server数据库中存储会话(或至少在进程外存储会话)怎么样?

XML文件可以轻松下载并显示敏感数据(*.config更安全)。此外,我还需要一个文件系统监视程序,以便收到任何更改的通知。我听起来像是在改造轮子,我相信
System.Configuration
应该包括这种情况,但我不知道如何将xml文件重命名为
*。无法再下载config
,但这不包括您想要的
System.Configuration
。您可以将
System.Configuration
用于存储配置设置的任何
*.config
文件。查看我的编辑。