• web.config文件自定义配置节的使用方法(转贴)


    web.config文件自定义配置节的使用方法的一个简单例子

    用来演示的程序名为MyApp,Namespace也是MyApp

    1。编辑web.config文件

    添加以下内容,声明一个Section

    <configSections>
       <section name="AppConfig" type="MyApp.AppConfig, MyApp" />
    </configSections> 

    声明了一个叫AppConfig的Section

    2。编辑web.config文件

    添加以下内容,加入一个Section

    <AppConfig>
      <add key="ConnectionString" value="this is a ConnectionString" />
      <add key="UserCount" value="199" />
    </AppConfig>


    这个Section包括两个 Key

    3。从IConfigurationSectionHandler派生一个类,AppConfig

    实现Create方法,代码如下

    public class AppConfig : IConfigurationSectionHandler
    {
      static String m_connectionString = String.Empty;
      static Int32 m_userCount = 0;
      public static String ConnectionString
      {
       get
       {
        return m_connectionString;
       }
      }
      public static Int32 UserCount
      {
       get
       {
        return m_userCount;
       }
      }

      static String ReadSetting(NameValueCollection nvc, String key, String defaultValue)
      {
       String theValue = nvc[key];
       if(theValue == String.Empty)
        return defaultValue;

       return theValue;
      }

      public object Create(object parent, object configContext, XmlNode section)
      {
       NameValueCollection settings;
      
       try
       {
        NameValueSectionHandler baseHandler = new NameValueSectionHandler();
        settings = (NameValueCollection)baseHandler.Create(parent, configContext, section);
       }
       catch
       {
        settings = null;
       }
      
       if ( settings != null )
       {
        m_connectionString = AppConfig.ReadSetting(settings, "ConnectionString", String.Empty);
        m_userCount = Convert.ToInt32(AppConfig.ReadSetting(settings, "UserCount", "0"));
       }
      
       return settings;
      }
    }

    我们把所有的配置都映射成相应的静态成员变量,并且是写成只读属性,这样程序通过

    类似AppConfig.ConnectionString就可以访问,配置文件中的项目了

    4。最后还要做一件事情

    在Global.asax.cs中的Application_Start中添加以下代码

    System.Configuration.ConfigurationSettings.GetConfig("AppConfig");

    这样在程序启动后,会读取AppConfig这个Section中的值,系统会调用你自己实现的IConfigurationSectionHandler接口来读取配置

    转自:http://blog.joycode.com/yaodong/posts/25334.aspx

  • 相关阅读:
    kvm虚拟化存储管理
    k8s集群部署
    docker版的zabbix部署
    docker进阶——数据管理与网络
    docker基础
    ceph对接openstack环境
    java命令--jmap命令使用
    JVM性能分析工具jstack介绍
    SkipList跳表基本原理
    NIO之Channel、Buffer
  • 原文地址:https://www.cnblogs.com/kwklover/p/17968.html
Copyright © 2020-2023  润新知