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

来源:互联网 发布:淘宝开店的具体流程 编辑:程序博客网 时间:2024/06/06 00:50

这篇文章记录下,支付宝配置信息,如何实现自定义配置文件,不用将所有的配置信息都放到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.最后的运行效果如下图:


1 0
原创粉丝点击