配置文件configSections节点使用实例

configSections为自定义节点,增加应用程序可移植性,用于配置文件上传路径,再深入应用可定义工厂方法需要加载创建的类。

1.配置configSections节点

<configSections>
    <section name ="MyName" type="LearningConfiguration.NameSectionHandler"/>
</configSections>
<MyName>
    <Add key="lu" name="lulu"></Add>
    <Add key="lu2" name="66"></Add>
</MyName>


2.定义NameSectionHandler类实现IConfigurationSectionHandler接口

namespace LearningConfiguration
{
    public class NameSectionHandler : IConfigurationSectionHandler
    {
        #region 隐式实现接口
        public object Create(object parent, object configContext, System.Xml.XmlNode section)
        {
            Dictionary<string, string> names = new Dictionary<string, string>();
            string key = string.Empty;
            string name = string.Empty;

            //获取配置文件中自定义节点值
            foreach (XmlNode childNode in section.ChildNodes)
            {
                if (childNode.Attributes["key"] != null)
                {
                    key = childNode.Attributes["key"].Value;

                    if (childNode.Attributes["name"] != null)
                    {
                        name = childNode.Attributes["name"].Value;
                    }
                    else
                    {
                        name = string.Empty;
                    }

                    names.Add(key, name);
                }
            }

            return names;
        }
        #endregion
    }
}

 

3.调用

protected void Page_Load(object sender, EventArgs e)
{
    Dictionary<string, string> names = ConfigurationManager.GetSection("MyName") as Dictionary<string, string>;
    if (names != null)
    {
            //输出:lulu66
        foreach (string key in names.Keys)
        {
            Response.Write(names[key]);
        }
    }
}


 


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值