1

我的网站的结构是这样的:

  • 根目录
    • 拱廊
      • 默认.aspx
      • 网络配置
    • 默认.aspx
    • 网络配置

我有一个方法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文件?

4

1 回答 1

3

您可以先打开 web.config 文件。

所以调用它会加载你的子文件;请注意,您提供了包含 web.config 的文件夹的路径,而不是实际的配置文件。

var config = WebConfigurationManager.OpenWebConfiguration("~/Arcade");

您现在可以获取您的值,例如:

string MyValue  = config.AppSettings.Settings["MySetting"].Value;

您还可以通过调用以下方式获取应用设置列表:

KeyValueConfigurationCollection appSettings = config.AppSettings.Settings;
于 2013-06-14T13:07:47.527 回答