C#自定义配置节点的实现

这篇文章记录下,支付宝配置信息,如何实现自定义配置文件,不用将所有的配置信息都放到Web.config文件中,减少web.config文件的体积。

1.在项目中,新建AliPay.config文件,如果是windows应用程序,记得将AliPay.config的属性->复制到输出目录,设置成:始终复制 。配置文件的结构如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  
  <configSections>
    <section name="alipayConfig" type="JuCheap.Config.AlipayConfiguration,ConsoleApplication1"/>
  </configSections>

  <alipayConfig Partner="2015666666666" Key="0XXDKFDJFKDFOWOWKCMEDINALSDL81919DDKWH" Email="service@jucheap.com"/>
  
</configuration>

2.有了如上结构,我们新建AlipayConfiguration.cs配置文件类,实现代码如下:

using System.Configuration;

namespace JuCheap.Config
{
    /// <summary>
    /// Alipay Config
    /// </summary>
    public class AlipayConfiguration : ConfigurationSection
    {
        private static AlipayConfiguration setting;

        public static AlipayConfiguration Setting
        {
            get
            {
                if (setting == null)
                {
                    ExeConfigurationFileMap exeMap = new ExeConfigurationFileMap()
                    {
                        ExeConfigFilename = "AliPay.config"
                    };
                    Configuration config = ConfigurationManager.OpenMappedExeConfiguration(exeMap,
                        ConfigurationUserLevel.None);

                    setting = (AlipayConfiguration) config.GetSection("alipayConfig");
                }

                return setting;
            }
        } 

        /// <summary>
        /// Partner
        /// </summary>
        [ConfigurationProperty("Partner", IsRequired = true)]
        public string Partner
        {
            get { return (string)this["Partner"]; }
            set { this["Partner"] = value; }
        }

        /// <summary>
        /// Key
        /// </summary>
        [ConfigurationProperty("Key", IsRequired = true)]
        public string Key
        {
            get { return this["Key"].ToString(); }
            set { this["Key"] = value; }
        }

        /// <summary>
        /// Email
        /// </summary>
        [ConfigurationProperty("Email", IsRequired = true)]
        public string Email
        {
            get { return (string)this["Email"]; }
            set { this["Email"] = value; }
        }
    }
}



3.然后在Program.cs文件中,输入如下代码:

Console.WriteLine("----AlipayConfiguration---------------------");
            AlipayConfiguration settingFirst = AlipayConfiguration.Setting;
            Console.WriteLine("Partner Id:" + settingFirst.Partner);
            Console.WriteLine("Key Id:" + settingFirst.Key);
            Console.WriteLine("Saller Email:" + settingFirst.Email);
            Console.WriteLine("--------------------------------------------------");
            Console.ReadLine();

4.最后的运行效果如下图:


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值