zoukankan      html  css  js  c++  java
  • VS2012 常用web.config配置解析之自定义配置节点

    在web.config文件中拥有一个用户自定义配置节点configSections,这个节点可以方便用户在web.config中随意的添加配置节点,让程序更加灵活(主要用于第三方插件的配置使用)

    自定义节点是一个XML格式的数据,我们可以在节点中灵活的配置自己的数据,下面是一个简单数据的例子

    1.先看一下web.config中的配置结构

      <configSections>
        <section name="modelsection" type="Amy.WebUI.Plugin.ConfigSections.ModelSectionHandler,Amy.WebUI"/>
      </configSections>
    
      <modelsection>
        <title>测试</title>
        <content>测试</content>
      </modelsection>
    

     2.为了实现自定义配置节点的解析,我们需要实现接口IConfigurationSectionHandler

        public class ModelSectionHandler : IConfigurationSectionHandler
        {
            /// <summary>
            /// 解析配置文件信息
            /// </summary>
            public object Create(object parent, object configContext, XmlNode section)
            {
                var json = section.ToJsonByJsonNet().GetJsonValue("modelsection");
    
                return json.ToObjectByJsonNet<ModelConfig>();
            }
        }
    

     3.ModelConfig类为了防止消耗IO资源,做了一个单例

        public class ModelConfig
        {
            private static ModelConfig instance;
            private static readonly object syncObject = new object();
    
            private ModelConfig() { }
    
            public static ModelConfig GetInstance()
            {
                if (instance == null)
                {
                    lock (syncObject)
                    {
                        if (instance == null)
                        {
                            instance = (Plugin.ConfigSections.ModelConfig)System.Configuration.ConfigurationManager.GetSection("modelsection");
                        }
                    }
                }
    
                return instance;
            }
    
    
            public string Title { get; set; }
    
            public string Content { get; set; }
        }
    

     4.读取数据,很简单及类的静态方法调用就OK;var config = Plugin.ConfigSections.ModelConfig.GetInstance();

  • 相关阅读:
    实验四 代码评审
    实验三、UML 建模工具的安装与使用
    结对编程 第二阶段
    结对编程第一阶段
    实验一 GIT代码版本管理
    实验五 单元测试
    实验四 代码评审
    实验三 UML 建模工具的安装与使用
    结对编程阶段二
    结对编程第一阶段
  • 原文地址:https://www.cnblogs.com/amywechat/p/4897678.html
Copyright © 2011-2022 走看看