使用configurationmanager从多个web.config文件中读取
背景:
我有一些数据存储在大约100个Web应用程序的web.config文件中。 此数据将逐渐移至数据库。 网页将显示web.config数据,直到有人点击“编辑”链接,在这种情况下,他们将被重定向到一个网页,这将允许他们更新这些数据,而不是将其保存在数据库中。
问题:
并非所有数据都将在此页面上更改,以便将其保存到数据库中。 当有人点击“编辑”链接时,我希望表单填充来自web.config文件的数据,当他们点击“保存”时,它会保存到数据库中。 但是,使用配置管理器我只能从当前应用程序的web.config文件中提取数据。
问题:
- 有没有办法使用configurationmanager来选择web.config文件,比如说
../{dynamic_app_id}/web.config
? - 正在阅读它们作为普通的xml文件我唯一的选择?
- 这种方法有什么缺陷吗?
- 还有其他解决方案可能更好吗?
您可以轻松读取任何配置文件。 请参阅我的示例代码,其中我从外部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文件中获取设置。
这是否回答你的问题?