前几天由于公司的业务需求,某个系统需要设置一些配置参数,将这些参数保存在数据库显得过于的复杂,并且系统频繁的读取配置信息不合适,不便于以后的管理,显然保存在配置文件中是最好的方式了。后面需要对这些配置信息进行修改管理,管理员当然不希望参数每次去变时去直接修改网站根目录下的Web.config文件,要是能够另外的保存一个文件,并且其它的网站能够同时访问这个文件,直接进行修改就最好了。
好了我们根据这个具体的实际需求来进行下面的步骤:
一、将网站的配置信息保存到单独配置文件
我们的配置信息一般保存在网站根目录下的Web.config文件的appSettings中,这里我们将其中的公共配置信息取出来,保存在另外一个单独的文件里面 。
在网站下新建一个文件夹Configs,添加一个配置文件AIsys.config ,在这里的配置文件中添加配置信息
<?xml version="1.0" encoding="utf-8"?>
<AISettings>
<add key="timeout" value="5"/>
<add key="maxnum" value="10"/>
<add key="minnum" value="3"/>
<add key="enabled" value="true"/>
</AISettings>
二、创建减值对应的类AIKeyValueElement和元素集合类AIKeyValueElementCollection
using System;
using System.Configuration;
namespace ApplicationModel.ConfigModel
{
/// <summary>
/// 键值对应类
/// </summary>
public class AIKeyValueElement : ConfigurationElement
{
/// <summary>
/// key
/// </summary>
[ConfigurationProperty("key", IsRequired = true)]
public string Key
{
get { return this["key"].ToString(); }
set { this["key"] = value; }
}
/// <summary>
/// value
/// </summary>
[ConfigurationProperty("value")]
public string Value
{
get { return this["value"].ToString(); }
set { this["value"] = value; }
}
}
[ConfigurationCollection(typeof(AIKeyValueElement))]
public c