zoukankan      html  css  js  c++  java
  • ConfigurationManager.GetSection()方法的使用

    GetSection方法读取的是configSections节点,这个节点在web.config配置文件中,它比较特殊,必须放置于首节点,也就是说,在它之前不能有其它类型的节点。configSections子节点有section和sectionGroup,后者是前者的集合节点:

    <configSections>
        <section name="CustomConfig" type="OrderMvc.CustomConfig, OrderMvc"/>
    </configSections>

    web.config关于CustomConfig的定义:

      <CustomConfig>
        <Name Value="asdf"/>
      </CustomConfig>

    下面说说它的作用,通过对ConfigurationManager.GetSection(...)方法的调用,如果某个类继承IConfigurationSectionHandler接口,那么会触发此接口的Create方法,这样我们就可以做一些事了。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Configuration;
    using System.Xml;
    
    namespace OrderMvc
    {
        public class CustomConfig : IConfigurationSectionHandler
        {
            public string Name { get; private set; }
            public object Create(object parent, object configContext, XmlNode section)
            {
                CustomConfig config = new CustomConfig();
                var name = section.SelectSingleNode("Name");
                if (name != null && name.Attributes != null)
                {
                    var attribute = name.Attributes["Value"];
                    if (attribute != null)
                        config.Name = attribute.Value;
                }
                return config;
            }
        }
    }

    调用:

    var config = ConfigurationManager.GetSection("CustomConfig") as CustomConfig;
                Debug.WriteLine(config.Name);
  • 相关阅读:
    Python 字符串处理大全.
    图形化翻译助手
    爬虫详解
    Python 模块.
    定制序列
    Python 的property的实现 .
    Python的魔法方法 .
    通过类的装饰器以及各种单例模式(修复版本)。
    是时候写一下Python装饰器了。
    %E2%80%8C的字符串问题,卡住三个小时。
  • 原文地址:https://www.cnblogs.com/zly2000a/p/3464989.html
Copyright © 2011-2022 走看看