加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 从多个Web.config文件访问appSettings

发布时间:2020-12-15 20:53:09 所属栏目:asp.Net 来源:网络整理
导读:我正在设计一个ASP.NET MVC4 Web App项目.在我的项目的根目录中,我有习惯的默认Web.config文件和我的相应元素.特别是,我定义了一些appSettings元素.作为一个示例摘录来证明这一点: appSettings add key="foo" value="bar" //appSettings 当然,我可以使用Con
我正在设计一个ASP.NET MVC4 Web App项目.在我的项目的根目录中,我有习惯的默认Web.config文件和我的相应元素.特别是,我定义了一些appSettings元素.作为一个示例摘录来证明这一点:
<appSettings>
    <add key="foo" value="bar" />
</appSettings>

当然,我可以使用ConfigurationManager.AppSettings [“foo”]在代码中访问此元素.这对我来说非常适合.但是,我正在和我的项目一起创建一个NuGet包.该软件包安装在我项目的Areas目录下的自己的目录中.在我的包的根目录中,我有另一个Web.config文件.这样,当另一个用户导入NuGet包时,包资源的配置对于包是本机的.让包的Web.config包含以下内容:

<appSettings>
    <add key="dirEnabled" value="true" />
</appSettings>

为了澄清相对路径,我现在有两个Web.config文件,一个在./Web.config,一个在./Areas/PackageName/Web.config.

在我的包中,我想检索dirEnabled的值.为此,我进行了调用:ConfigurationManager.AppSettings [“dirEnabled”].但是,这会引发错误.看起来好像只从./Web.config中检索appSettings的集合,而不是我的包配置文件.是否可以从我的包的配置文件而不是项目根配置文件中获取appSettings集合?

解决方法

弄清楚了!要使用其他配置文件,请合并WebConfigurationmanager.因此,要访问./Areas/PackageName/Web.config的appSettings,只需使用:
var config = WebConfigurationManager.OpenWebConfiguration("~/Areas/PackageName");
string dirE = config.AppSettings.Settings["dirEnabled"].Value;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读