How can I reference an appSetting in a different p

2020-02-01 01:40发布

I have my appSettings defined in a separate config file called Appsettings.Dev.Config, and I include that file inside my web.config file like so

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

Lets say one of the settings in the file is

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

Can I access the value of the setting MailerEmailAccount elsewhere inside web.config? How?

2条回答
聊天终结者
2楼-- · 2020-02-01 02:08

Nope, the web configuration file cannot pull "settings" from itself; it's not dynamic at all. The only sort of dynamic functionality is the ability to include other .config, but that's just a "suck all these settings in as if they were part of me" kind of thing.

查看更多
ら.Afraid
3楼-- · 2020-02-01 02:13

It might be possible if you create a custom ConfigurationSection that pulls the value from appSettings.

Here's an article that explain how to create a custom configuration section:
http://haacked.com/archive/2007/03/12/custom-configuration-sections-in-3-easy-steps.aspx

I don't know if this is what you're looking for, but it's the only way I can think of to read a web.config setting from within the web.config.

EDIT

I haven't tested this, but maybe something like this would work?:

[ConfigurationProperty("localName", IsRequired = true, IsKey = true)]
public string LocalName
{
    get
    {
        return this["localName"] as string;
    }
    set
    {                
        this["localName"] = WebConfigurationManager.AppSettings.Get(value);
    }
}
查看更多
登录 后发表回答