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



我有我的appSettings定义在一个单独的配置文件称为Appsettings.Dev.Config,我将该文件包含在我的web.config文件中,像这样

<appSettings configSource="ConfigFilesAppSettings.Dev.config"/>

假设文件中的一个设置是

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

我可以访问web.config中其他地方的设置MailerEmailAccount的值吗?如何?

不,web配置文件不能从自己拉出"settings";它完全不是动态的。唯一的一种动态功能是包含其他。config的能力,但这只是一种"吸收所有这些设置,就好像它们是我的一部分"的事情。

如果您创建一个自定义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);
    }
}

最新更新