我的网站以这种方式构建:
我有一个访问的方法Method1()
:
System.Configuration.ConfigurationManager.AppSettings["Total_Unique_Plays_Required_For_High_Score_Board"]
此值存在于root/Arcade/Web.config
文件中,但不存在于root/web.config
文件中。
当我从Method1()
目录中的页面执行/arcade
时,它可以正常工作。但是,当我从global.asax
执行此方法作为定时事件时,它会在根web.config
文件中搜索值并抛出System.NullException
。
是否有人知道如何指定搜索root/arcade/web.config
文件而不是root/web.config
文件中的值?
答案 0 :(得分:3)
您可以先打开web.config文件。
所以调用它会加载你的子文件;请注意,您提供了包含web.config的文件夹的路径,而不是实际的配置文件。
var config = WebConfigurationManager.OpenWebConfiguration("~/Arcade");
您现在可以获取您的值,例如:
string MyValue = config.AppSettings.Settings["MySetting"].Value;
您还可以致电:
获取应用设置列表KeyValueConfigurationCollection appSettings = config.AppSettings.Settings;