当Web.config存在时,如何从Web应用程序中链接的App.config中提取值?

时间:2017-04-06 14:45:35

标签: c# asp.net asp.net-mvc web-config app-config

我有一个用C#编写的mvc .NET Web应用程序,我有一个与web相关的web.config文件,用于特定于Web的配置值。我还有一个Windows服务应用程序,它将在后台服务器上运行,并且有一个与之关联的App.config。我已在Web应用程序中链接该文件,并可以查看具有更新值的文件。但我无法在控制器中使用这些值将它们显示到UI。有没有办法调用app.config值以在控制器和Web应用程序的视图中使用?现在看起来他们因为没有进入web.config而进入null。

任何帮助都是适用的。

1 个答案:

答案 0 :(得分:0)

只要权限得以解决,您就应该能够打开共享配置文件:

var map = new ExeConfigurationFileMap();
//TODO: resolve this path in whatever way makes sense for your situation.
map.ExeConfigFilename = @"C:\MyConfig.config";
var config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
//do something with config, e.g. config.AppSettings.Settings["Blah"];

否则,您可以执行诸如将共享设置放入machine.config之类的操作,但通常明智的做法是不要弄乱该文件。