在 .NET 1.1 中,我们都知道可以使用 app.config 或者 web.config (ASP.NET) 来保存一些设置。可是对于大多数人来说,可能用的最多的只是把它当作一个简单的 ini 文件来存储 key-value 键值对,比如数据库链接字符串,上传文件路径之类的。但是实际上配置文件里可以存放任意复杂的结构。如果读过 DNN,.Text 之类程序的代码,就可以找到这些应用的范例。不过这些项目的代码一般都比较繁杂,因此这里我结合 .Text 的配置方法,对配置文件的用法来做一个简单的小结。
一、最简单的写法,只用到 appSettings 元素。
appSettings 里的设定在 ConfigurationSettings 类里有默认的属性来访问,他返回的是一个 NameValueCollection 子类的实例。所以通常简单的字符串值可以保存在这里。写法如下:
<? xml version="1.0" encoding="utf-8" ?>
< configuration >
<!-- 最简单的,在 appSettings 里面写 -->
< appSettings >
<!-- 定义两个键值 -->
< add key ="key1" value ="123" />
< add key ="key2" value ="456" />
</ appSettings >
</ configuration >
读取的代码:
string key1 = ConfigurationSettings.AppSettings["key1"];
string key2 = ConfigurationSettings.AppSettings["key2"];
二、稍微加点料。。
appSettings 中不仅仅可以用 add 来添加键值,还可以用 clear 或 remove 元素。
clear 的意思是,去除父层次的配置文件中定义的所有键值。
所谓“父层次”的意思是,比如我们在 ASP.NET 中,当我们用 ConfigurationSettings.AppSettings[key] 去读取一个值的时候,首先会去检查 machine.config 里是否有此键值的配置,然后再去读取 web.config. 另外,如果在不同的目录层次中配置 web.config,则子目录中 web.config 的配置会覆盖父目录中的设置。那么这里 machine.config 相对于当前的 web.config, 或者父目录的 config 文件相对于子目
| 对此文章发表了评论 |

