使用configurationmanager从多个web.config文件中读取

背景:

我有一些数据存储在大约100个Web应用程序的web.config文件中。 此数据将逐渐移至数据库。 网页将显示web.config数据,直到有人点击“编辑”链接,在这种情况下,他们将被重定向到一个网页,这将允许他们更新这些数据,而不是将其保存在数据库中。

问题:

并非所有数据都将在此页面上更改,以便将其保存到数据库中。 当有人点击“编辑”链接时,我希望表单填充来自web.config文件的数据,当他们点击“保存”时,它会保存到数据库中。 但是,使用配置管理器我只能从当前应用程序的web.config文件中提取数据。

问题:

  1. 有没有办法使用configurationmanager来选择web.config文件,比如说../{dynamic_app_id}/web.config
  2. 正在阅读它们作为普通的xml文件我唯一的选择?
  3. 这种方法有什么缺陷吗?
  4. 还有其他解决方案可能更好吗?

您可以轻松读取任何配置文件。 请参阅我的示例代码,其中我从外部app.config文件中读取应用程序设置:

  System.Configuration.KeyValueConfigurationCollection settings; System.Configuration.Configuration config; System.Configuration.ExeConfigurationFileMap configFile = new System.Configuration.ExeConfigurationFileMap(); configFile.ExeConfigFilename = "my_file.config"; config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(configFile, System.Configuration.ConfigurationUserLevel.None); settings = config.AppSettings.Settings; 

快乐的编码和最好的问候!

您可以在web.config中添加以下部分

然后,在项目中添加“env”文件夹,并将环境设置添加到EnvironmentalSettings.config中。 您仍然可以使用ConfigurationManager从EnvironmentalSettings文件中获取设置。

这是否回答你的问题?