• 关于config文件的自定义节点


    1.设置定义的section节点必须继承ConfigurationSection类,并设置相关特性ConfigurationProperty,设置特性后,将设置的特性在app.config中进行填写;

    2.单节点处理,不需要进行复杂的节点处理,直接配置,直接使用。

      1 public class RedisConfigInfo : ConfigurationSection
      2 {
      3         private static RedisConfigInfo setting;
      4         public static RedisConfigInfo Setting
      5         {
      6             get
      7             {
      8                 if (setting == null)
      9                 {
     10                     setting = (RedisConfigInfo)ConfigurationManager.GetSection("RedisConf");
     11                 }
     12                 return setting;
     13             }
     14         }
     15 
     16         [ConfigurationProperty("Host", IsRequired = true)]
     17         public string Host
     18         {
     19             set
     20             {
     21                 this["Host"] = value;
     22             }
     23             get
     24             {
     25                 return (string)this["Host"];
     26             }
     27         }
     28 
     29         [ConfigurationProperty("Port")]
     30         public int Port
     31         {
     32             get
     33             {
     34                 return (int)(this["Port"] ?? 6379);
     35             }
     36             set
     37             {
     38                 this["Port"] = value;
     39             }
     40         }
     41 
     42         [ConfigurationProperty("DaultDb")]
     43         public int DaultDb
     44         {
     45             set
     46             {
     47                 this["DaultDb"] = value;
     48             }
     49             get
     50             {
     51                 return (int)(this["DaultDb"] ?? 0);
     52             }
     53         }
     54 
     55         [ConfigurationProperty("MaxWritePoolSize")]
     56         public int MaxWritePoolSize
     57         {
     58             set
     59             {
     60                 this["MaxWritePoolSize"] = value;
     61             }
     62             get
     63             {
     64                 return (int)this["MaxWritePoolSize"];
     65             }
     66         }
     67 
     68         [ConfigurationProperty("MaxReadPoolSize")]
     69         public int MaxReadPoolSize
     70         {
     71             set
     72             {
     73                 this["MaxReadPoolSize"] = value;
     74             }
     75             get
     76             {
     77                 return (int)this["MaxReadPoolSize"];
     78             }
     79         }
     80 
     81         [ConfigurationProperty("AutoStart")]
     82         public bool AutoStart
     83         {
     84             set
     85             {
     86                 this["AutoStart"] = value;
     87             }
     88             get
     89             {
     90                 return (bool)this["AutoStart"];
     91             }
     92         }
     93 
     94         [ConfigurationProperty("WriteServerList")]
     95         public string WriteServerList
     96         {
     97             set
     98             {
     99                 this["WriteServerList"] = value;
    100             }
    101             get
    102             {
    103                 return (string)this["WriteServerList"];
    104             }
    105         }
    106 
    107         [ConfigurationProperty("ReadServerList")]
    108         public string ReadServerList
    109         {
    110             set
    111             {
    112                 this["ReadServerList"] = value;
    113             }
    114             get
    115             {
    116                 return (string)this["ReadServerList"];
    117             }
    118      }
    119 }

    完成配置后,在对应文件中插入相关的配置:

    1.声明引用:

     <configSections>
        <section name="RedisConf" type="Arrowtip.Common.RedisConf.RedisConfigInfo,Arrowtip.Common"/>
      </configSections>

    2.细致使用针对section节点的配置:

    <RedisConf Host="192.168.121.128" Port="6379" DaultDb="15" WriteServerList="192.168.121.128"
                 ReadServerList="192.168.121.128" MaxWritePoolSize="1000" MaxReadPoolSize="1000" AutoStart="true">
    </RedisConf>

    以上是单节点配置,只能配置一个节点。

  • 相关阅读:
    bzoj1951 [Sdoi2010]古代猪文
    bzoj2693 jzptab
    数学一本通第三章总结
    poj1019 Number Sequence
    SGU179 Brackets light
    字母组合2
    字母组合
    Java基础知识强化之集合框架笔记09:Collection集合迭代器使用的问题探讨
    Java基础知识强化之集合框架笔记08:Collection集合自定义对象并遍历案例(使用迭代器)
    Java基础知识强化之集合框架笔记07:Collection集合的遍历之迭代器遍历
  • 原文地址:https://www.cnblogs.com/ArrowTip/p/ConfigSection.html
Copyright © 2020-2023  润新知