webconfig 配置 分离

https://blog.csdn.net/zhifeiya/article/details/38828711

如标题,如何把 asp.net webconfig的appSettings分离到单独文件 (必须是xxx.config文件),为什么要这么做?原因如下:

其一:如果我的配置节很多的话web.config会变得很大,不易管理和查找;
其二:程序运行后对web.config的改动会引起站点的重启,如果系统管理员修改配置文件也会引起系统站点重启,这样会影响系统的运行。

做法如下:

第一步,在web.config文件的appSettings节点内添加configSource属性,其值为"分离配置文件"的路径,并清空该节点内的子元素如下代码  [注意:configSouce中的文件路径只能为相对物理路径,也就是只能为反斜杠(),不能用斜杠(/)。]:


<appSettings configSource="BaseInfo.config">
<!--
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
-->
</appSettings>


第二部,建立对应的"分离文件"(本例中叫BaseInfo.config),注意路径.形如下代码:

<?xml version="1.0" encoding="utf-8"?>
<appSettings>
<add key="see" value="我来自baseinfo文件!" />
</appSettings>

第三部,读取/写入

Configuration cfg = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
AppSettingsSection ass = cfg.AppSettings;
//读取
string settingValue = ass.Settings["see"].Value;
//修改
ass.Settings["see"].Value = "changed by application";

原文地址:https://www.cnblogs.com/liuqiyun/p/11810169.html