我有我的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);
}
}