配置文件也是每个项目中离不开的选项,基本上或多或少都会在配置中写入一些项目自定义的东西,甚至有些多站点管理的,要求去动态更改配置文件,重启IIS站点让其热部署生效;微软已经提供了Config内的配置相关操作,然而我们还是对其进行了一系列的封装;
using System.Configuration;/// <summary>/// 配置文件帮助类/// </summary>public class ConfigHelperUtil{public static string GetConfigString(string key){return ConfigurationManager.ConnectionStrings[key].ConnectionString.Trim();}/// <summary>/// 获取配置/// </summary>/// <param name="key">配置键</param>/// <returns></returns>public static string GetValue(string key){try{var apsetting = ConfigurationManager.AppSettings[key];if (string.IsNullOrEmpty(apsetting)){return null;}else{return apsetting.ToString().Trim();}}catch{return null;}}/// <summary>/// 设置配置值/// </summary>/// <param name="key">配置键</param>/// <param name="value">配置值</param>public static void SetValue(string key, string value){ConfigurationManager.AppSettings.Set(key, value);}/// <summary> /// 添加配置节点/// </summary> /// <param name="key">配置键</param> /// <param name="value">配置值</param> public static void Add(string key, string value){ConfigurationManager.AppSettings.Add(key, value);}/// <summary>/// 移除配置节点/// </summary>/// <param name="key">配置键</param>public static void Remove(string key){ConfigurationManager.AppSettings.Remove(key);}}
最后是使用的部分:
using 你类所在项目;/// <summary>/// 静态资源/// </summary>public static class ConfigString{/// <summary>/// 全局用来进行敏感数据加密解密的密钥/// </summary>public static string encry_private_key = ConfigHelperUtil.GetValue("encry_private_key"); //全局数据加解密私钥public static string encry_public_key = ConfigHelperUtil.GetValue("encry_public_key"); //全局数据免密公钥public static string ybs_receive_url = ConfigHelperUtil.GetValue("ybs_receive_url"); //收款接口地址public static string ybs_receive_notice_url = ConfigHelperUtil.GetValue("ybs_receive_notice_url"); //收款回调地址public static string ybs_payment_url = ConfigHelperUtil.GetValue("ybs_payment_url"); //代付接口地址public static string ybs_channel_id = ConfigHelperUtil.GetValue("ybs_channel_id");public static string ali_orc_file_root = ConfigHelperUtil.GetValue("ali_orc_file_root"); //阿里云ORC识别文件目录public static string ali_orc_url = ConfigHelperUtil.GetValue("ali_orc_url"); //阿里云ORC光学识别接口public static string ali_orc_app_key = ConfigHelperUtil.GetValue("ali_orc_app_key"); //阿里云ORC光学识别账户public static string ali_orc_app_secret = ConfigHelperUtil.GetValue("ali_orc_app_secret"); //阿里云ORC光学识别秘钥public static string ali_orc_app_code = ConfigHelperUtil.GetValue("ali_orc_app_code"); //阿里云ORC光学识别app_codepublic static string bpy_global_url = ConfigHelperUtil.GetValue("bpy_global_url"); //标普云众包服务接口地址public static string wechat_notice_url = ConfigHelperUtil.GetValue("wechat_notice_url"); //微信通知接口地址public static string wechat_notice_templet_no_1 = ConfigHelperUtil.GetValue("wechat_notice_templet_no_1"); //微信通知接口模板1public static string wechat_notice_templet_no_2 = ConfigHelperUtil.GetValue("wechat_notice_templet_no_2"); //微信通知接口模板2public static string wechat_notice_sign_key = ConfigHelperUtil.GetValue("wechat_notice_sign_key"); //微信通知接口签名秘钥public static string wechat_notice_redict_url = ConfigHelperUtil.GetValue("wechat_notice_redict_url"); //微信通知接口消息跳转地址public static string rly_notice_app_id = ConfigHelperUtil.GetValue("rly_notice_app_id"); //容联云APPIDpublic static string rly_notice_account_id = ConfigHelperUtil.GetValue("rly_notice_account_id"); //容联云AccountIdpublic static string rly_notice_account_token = ConfigHelperUtil.GetValue("rly_notice_account_token"); //容联云AccountToken}