zoukankan      html  css  js  c++  java
  • IConfigurationSectionHandler 接口

    IConfigurationSectionHandler

    处理对特定的配置节的访问。

    示例代码:

      public class MyConfig : IConfigurationSectionHandler
        {
            public int MyNum1 { get; set; }
            public int MyNum2 { get; set; }
            public int MyNum3 { get; set; }
    
            public MyConfig()
            {
                MyNum1 = 0;
                MyNum2 = 0;
                MyNum3 = 0;
            }
            // implement interface member
            public object Create(object parent, object configContext, System.Xml.XmlNode section)
            {
                try
                {
                    MyConfig options = new MyConfig();
                    if (section == null) return options;
    
                    foreach (XmlNode node in section.ChildNodes)
                    {
                        if (node.Name == "MyNum1")
                            options.MyNum1 = int.Parse(node.InnerText);
                        else if (node.Name == "MyNum2")
                            options.MyNum2 = int.Parse(node.InnerText);
                        else if (node.Name == "MyNum3")
                            options.MyNum3 = int.Parse(node.InnerText);
                    }
                    return options;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
    
            }
        }

    Web.config配置:

    <section name="MyConfig" type="WebApp.MyConfig" />

     <MyConfig>
        <MyNum1>111</MyNum1>
        <MyNum2>222</MyNum2>
        <MyNum3>333</MyNum3>
      </MyConfig>
    <configSections>
        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        <section name="MyConfig" type="WebApp.MyConfig" />
      </configSections>
      <MyConfig>
        <MyNum1>111</MyNum1>
        <MyNum2>222</MyNum2>
        <MyNum3>333</MyNum3>
      </MyConfig>

    调用:

     var myconfig = WebConfigurationManager.GetSection("MyConfig") as MyConfig;
                Response.Write(myconfig.MyNum2);

    参考:

    https://stackoverflow.com/questions/3694253/how-to-use-iconfigurationsectionhandler-for-global-configuration/28060401#28060401

  • 相关阅读:
    指针
    初级程序员面试不靠谱指南(七)
    初级程序员面试不靠谱指南(六)
    Hadoop 中利用 mapreduce 读写 mysql 数据
    Mapreduce的文件和hbase共同输入
    mapreduce多文件输出的两方法
    mapreduce中一个map多个输入路径
    GDB介绍
    超强的指针学习笔记
    iOS开发之Appstore篇——版本更新
  • 原文地址:https://www.cnblogs.com/zhangzhi19861216/p/4969221.html
Copyright © 2011-2022 走看看