如何在web.config的不同部分引用appSetting

时间:2011-10-06 20:42:03

标签: asp.net web-config

我在名为appSettings的单独配置文件中定义了我的Appsettings.Dev.Config,并将该文件包含在我的web.config文件中,如此

<appSettings configSource="ConfigFiles\AppSettings.Dev.config"/>

让我们说文件中的一个设置是

<add key="MailerEmailAccount" value="myemail@myserver.com" />

我可以在web.config中的其他位置访问设置MailerEmailAccount的值吗?怎么样?

2 个答案:

答案 0 :(得分:4)

不,Web配置文件无法从自身中提取“设置”;它根本不是动态的。唯一的动态功能就是能够包含其他.config,但这只是“将所有这些设置视为他们的一部分”。

答案 1 :(得分:4)

如果您创建一个从ConfigurationSection中提取值的自定义appSettings,则可能会这样做。

这是一篇解释如何创建自定义配置部分的文章:
http://haacked.com/archive/2007/03/12/custom-configuration-sections-in-3-easy-steps.aspx

我不知道这是否是您正在寻找的,但这是我能够考虑从web.config内读取web.config设置的唯一方式。

修改

我没有对此进行过测试,但也许这样的事情会起作用?:

[ConfigurationProperty("localName", IsRequired = true, IsKey = true)]
public string LocalName
{
    get
    {
        return this["localName"] as string;
    }
    set
    {                
        this["localName"] = WebConfigurationManager.AppSettings.Get(value);
    }
}