• .Net配置文件读取及修改方法封装(未加密)


    .Net平台下开发时,需要将有些数据存储在XML文档中,而我们的首选即是默认新建的app.Config了。新建流程如下:

    第一步:在启动工程上右键->添加->新建项。如下图:

    第二步:新建配置文件,修改名称,切记要将默认的App1.config修改为App.config,因为默认寻找的配置文件名称是App.config。如果不改名称将找不到,如下图:

    第三步:添加相应的connectionStrings和appSettings,如下图:

    那么至此,我们的配置文件已经创建好了。那么创建好的配置文件是方便我们使用的,不管是我们读取配置文件中的值还是我们要修改配置文件中的有些配置项。当系统交付客户时,不能每次直接让客户操作配置,更何况一般配置文件都是要加密的。所以我在其他博客园找了一些封装好的方法可供参考:

    代码如下:

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Configuration;
      6 
      7 namespace WPFControlsDemo.Control
      8 {
      9     /// <summary>
     10     /// 配置文件帮助类
     11     /// </summary>
     12     public class ConfigHelper
     13     {
     14         #region ConnectionStrings
     15 
     16         /// <summary>
     17         /// 根据连接串名字connectionName返回数据连接字符串
     18         /// </summary>
     19         /// <param name="connectionName">连接串名字</param>
     20         /// <returns>数据连接字符串</returns>
     21         private static string GetConnectionStringsConfig(string connectionName)
     22         {
     23             string connectionString = ConfigurationManager.ConnectionStrings[connectionName].ToString();
     24             return connectionString;
     25         }
     26 
     27         /// <summary>
     28         /// 更新连接字符串
     29         /// </summary>
     30         /// <param name="newName">连接字符串名称</param>
     31         /// <param name="newConString">连接字符串内容</param>
     32         /// <param name="newProviderName">数据提供程序名称</param>
     33         private static void UpdateConnectionStringConfig(string newName, string newConString, string newProviderName)
     34         {
     35             //记录该连接字符串是否已经存在
     36             bool isModified = false;
     37             //如果要更改的连接字符串已经存在
     38             if (ConfigurationManager.ConnectionStrings[newName] != null)
     39             {
     40                 isModified = true;
     41             }
     42 
     43             //新建一个连接字符串实例
     44             ConnectionStringSettings mySettings = new ConnectionStringSettings(newName, newConString, newProviderName);
     45             Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
     46 
     47             //如果连接串已存在,首先删除它
     48             if (isModified)
     49             {
     50                 config.ConnectionStrings.ConnectionStrings.Remove(newName);
     51             }
     52             //将新的连接串添加到配置文件
     53             config.ConnectionStrings.ConnectionStrings.Add(mySettings);
     54             //保存对配置文件所做的更改
     55             config.Save(ConfigurationSaveMode.Modified);
     56             //强制重新载入配置文件的ConnectionStrings配置节
     57             ConfigurationManager.RefreshSection("ConnectionStrings");
     58         }
     59 
     60         #endregion
     61 
     62         #region AppStrings
     63 
     64         /// <summary>
     65         /// 返回config文件中的appSettings配置节的value项
     66         /// </summary>
     67         /// <param name="strKey">appSettings配置节关键字</param>
     68         /// <returns>APPSettings配置节值</returns>
     69         private static string GetAppConfig(string strKey)
     70         {
     71             foreach (string key in ConfigurationManager.AppSettings)
     72             {
     73                 if (key == strKey)
     74                 {
     75                     return ConfigurationManager.AppSettings[strKey];
     76                 }
     77             }
     78 
     79             return null;
     80         }
     81 
     82         /// <summary>
     83         /// 在config文件中appSettings配置节增加一对键,值对
     84         /// </summary>
     85         /// <param name="newKey"></param>
     86         /// <param name="newValue"></param>
     87         private static void UpdateAppConfig(string newKey, string newValue)
     88         {
     89             bool isModified = false;
     90             foreach (string key in ConfigurationManager.AppSettings)
     91             {
     92                 if (key == newKey)
     93                 {
     94                     isModified = true;
     95                 }
     96             }
     97             //打开配置文件
     98             Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
     99             //删除已存在的节点
    100             if (isModified)
    101             {
    102                 config.AppSettings.Settings.Remove(newKey);
    103             }
    104             //增加appSettings节点
    105             config.AppSettings.Settings.Add(newKey, newValue);
    106             //保存配置文件
    107             config.Save(ConfigurationSaveMode.Modified);
    108             //强制刷新
    109             ConfigurationManager.RefreshSection("appSettings");
    110         }
    111 
    112         #endregion
    113     }
    114 }
    灵感+实践
  • 相关阅读:
    R绘图 第七篇:绘制条形图(ggplot2)
    R实战 第11篇:处理缺失值
    R实战 第十篇:列联表和频数表
    贝叶斯概率
    分析思维 第三篇:数据分析的三板斧
    分析思维 第二篇:数据指标体系
    分析思维 第一篇:认识数据
    R数据挖掘 第三篇:聚类的评估(簇数确定和轮廓系数)和可视化
    R数据挖掘 第二篇:基于距离评估数据的相似性和相异性
    R数据挖掘 第一篇:聚类分析(划分)
  • 原文地址:https://www.cnblogs.com/weitao/p/4114577.html
Copyright © 2020-2023  润新知