• 自定义配置app.config


    先要写配置类,然后封装成DLL
    代码
    namespace CustomConfig
    {
        
    public   class DbFactorySection:System.Configuration.ConfigurationSection
        {
            [System.Configuration.ConfigurationProperty(
    "default")]
            
    public DefaultElement DefaultFactory
            {
                
    get
                {
                    
    return this["default"as DefaultElement;
                }
                
    set
                {
                    
    this["default"= value;
                }     
            }
            [System.Configuration.ConfigurationProperty(
    "factorys")]
            
    public FactoryElements Factorys
            {
                
    get
                {
                    
    return this["factorys"as FactoryElements;
                }
                
    set
                {
                    
    this["factorys"= value;
                }
            
            }

        }
    }
    代码
    namespace CustomConfig
    {
        
    public  class DefaultElement: System.Configuration.ConfigurationElement
        {
            [System.Configuration.ConfigurationProperty(
    "factory")]
            
    public string Factory
            {
                
    get
                {
                    
    return this["factory"as string;
                }
                
    set
                {
                    
    this["factory"= value;
                }
            
            }
        }
    }
    代码
    namespace CustomConfig
    {
        
    public class FactoryElement:System.Configuration.ConfigurationElement
        {
            [System.Configuration.ConfigurationProperty(
    "name")]
            
    public string Name
            {
                
    get
                {
                    
    return this["name"as string;
                }
                
    set
                {
                    
    this["name"= value;
                }
            }
            [System.Configuration.ConfigurationProperty(
    "assembly")]
            
    public string Assembly
            {
                
    get
                {
                    
    return this["assembly"as string;
                }
                
    set
                {
                    
    this["assembly"= value;
                }
            }
            [System.Configuration.ConfigurationProperty(
    "class")]
            
    public string Class
            {
                
    get
                {
                    
    return this["class"as string;
                }
                
    set
                {
                    
    this["class"= value;
                }
            }
               
        }
    }
    代码
    namespace CustomConfig
    {
        
    public  class FactoryElements: System.Configuration.ConfigurationElementCollection
        {
            
    protected override System.Configuration.ConfigurationElement CreateNewElement()
            {
                
    return new FactoryElement();
            }

            
    protected override object GetElementKey(System.Configuration.ConfigurationElement element)
            {
                
    return ((FactoryElement)element).Name;   
            }

            
    /// <summary>
            
    /// 用于在元素集合中指定名字
            
    /// </summary>
            
    /// <param name="name"></param>
            
    /// <returns></returns>
            public FactoryElement this[string name]
            {
                
    get
                {
                    
    return BaseGet(name) as FactoryElement;
                }
            }
        }
    }

    在app.config中加入以下节点:

    代码
    <configuration>
        
    <configSections>
          
    <section  name="dbFactory" type="CustomConfig.DbFactorySection,CustomConfig"/>
        
    </configSections>
      
    <dbFactory>
        
    <default factory="sql">
        
    </default>
        
    <factorys>
          
    <add name="sql" assembly="Hello.Data" class="SqlDbFactory"/>
          
    <add name="oracle" assembly="Hello.Data" class="OracleDbFactory"/>
        
    </factorys>
      
    </dbFactory>

    后台中调用:

     DbFactorySection conSection = System.Configuration.ConfigurationManager.GetSection("dbFactory") as CustomConfig.DbFactorySection;

                string strName = conSection.Factorys["sql"].Name.ToString();

    可以得到配置节点的信息.

    转自:http://www.cnblogs.com/zhaoguihua/archive/2010/01/21/1652847.html

  • 相关阅读:
    ld: cannot find lgcc_s
    Ubuntu 12.10 图形显示未知
    awk分析Nginx日志中的cookie
    Ubuntu 10.04 WPS 问题汇总
    objc[20556]:Class JavaLaunchHelper is implemented in both xxx 警告处理
    在Linux安装配置Tomcat 并部署web应用 ( 三种方式 )
    Spring Boot 系列(二)单元测试&网络请求
    Java自定义注解
    Spring Boot 系列(一)快速入门
    Spring 自定义注解,配置简单日志注解
  • 原文地址:https://www.cnblogs.com/johnwonder/p/1661531.html
Copyright © 2020-2023  润新知