使用IConfigurationSectionHandler在web.config中增加自定义配置

来源:互联网 发布:js获取name属性值 编辑:程序博客网 时间:2024/06/06 05:56

一. 场景
    这里仅举一个简单应用的例子,我希望在web.config里面增加网站的基本信息,如:网站名称,网站版本号,是否将网站暂时关闭等。
二. 基本实现方法

需要建立一个类项目Tristan.SeeCustomConfig,和一个Web站点用来测试,如下所示


1. 定义配置节点对应的类:SiteSetting
    代码片段:
  

2. 实现IConfigurationSectionHandler接口:SiteSettingHandler

3. 在web.config中进行配置
在<configSections></configSections>里面增加一个节点:
<section name="siteSetting" type="Tristan.SeeCustomConfig.SiteSettingHandler"/>
    name:指定我们将要增加的节点名为"siteSetting",接下来会使用它来编写配置节点
    type:指定处理这个配置节点的handler,这个类,我们在前面已经把代码实现了
    然后在<configuration><configuration>里面增加一段xml:
<siteSetting>
        <siteName>遇见未来</siteName>
        <siteVersion>1.0</siteVersion>
    <closed>false</closed>
    </siteSetting>
完整代码见下图:

4. 看看效果吧
    随便建一个页面在后台代码里写几行代码做个测试

  

运行结果:

遇见未来,1.0,False

三. 使用XML反序列化
1. 修改SiteSetting

2. 修改SiteSettingHandler

3. 修改web.config中的配置
siteSetting加上属性type="Tristan.SeeCustomConfig.SiteSetting"

4. 再来看看
    不修改测试代码,得到了一样的效果 :)

 

参考:

http://blog.csdn.net/zyc21st/archive/2004/12/09/210990.aspx

http://www.pin5i.com/showtopic-16217.html

http://www.pin5i.com/showtopic-16217.html