C# 程序配置文件的操作(ConfigurationManager的使用)
public class ConfigureAppConfig
{//静态构造,不能实例化static ConfigureAppConfig() { }/**//// <summary>/// 获取AppSettings配置节中的Key值/// </summary>/// <param name="keyName">Key's name</param>/// <returns>Key's value</returns>public static string GetAppSettingsKeyValue(string keyName){return ConfigurationManager.AppSettings.Get(keyName);}/**//// <summary>/// 获取ConnectionStrings配置节中的值/// </summary>/// <returns></returns>public static string GetConnectionStringsElementValue(){ConnectionStringSettings settings = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"];return settings.ConnectionString;}/**//// <summary>/// 保存节点中ConnectionStrings的子节点配置项的值/// </summary>/// <param name="elementValue"></param>public static void ConnectionStringsSave(string ConnectionStringsName, string elementValue){System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);config.ConnectionStrings.ConnectionStrings["connectionString"].ConnectionString = elementValue;config.Save(ConfigurationSaveMode.Modified);ConfigurationManager.RefreshSection("connectionStrings");}/**//// <summary>/// 判断appSettings中是否有此项/// </summary>private static bool AppSettingsKeyExists(string strKey, Configuration config){foreach (string str in config.AppSettings.Settings.AllKeys){if (str == strKey){return true;}}return false;}/**//// <summary>/// 保存appSettings中某key的value值/// </summary>/// <param name="strKey">key's name</param>/// <param name="newValue">value</param>public static void AppSettingsSave(string strKey, string newValue){System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);if (AppSettingsKeyExists(strKey, config)){config.AppSettings.Settings[strKey].Value = newValue;config.Save(ConfigurationSaveMode.Modified);ConfigurationManager.RefreshSection("appSettings");}}
}


如果你的程序是对其它程序的配置文件进行操作,代码如下:

ExeConfigurationFileMap filemap = new ExeConfigurationFileMap();
filemap.ExeConfigFilename = filePath;//配置文件路径
config = ConfigurationManager.OpenMappedExeConfiguration(filemap, ConfigurationUserLevel.None);if (AppSettingsKeyExists("Refresh", config))
{config.AppSettings.Settings["Refresh"].Value = M_TimeRead.ToString();
}if (AppSettingsKeyExists("MachineNo", config))
{config.AppSettings.Settings["MachineNo"].Value = M_MachineNo;}
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");config.ConnectionStrings.ConnectionStrings["connectionString"].ConnectionString = M_ConnectionString;
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("connectionStrings");


数据库字符串加密

ExeConfigurationFileMap filemap = new ExeConfigurationFileMap();
filemap.ExeConfigFilename = Application.ExecutablePath + ".Config"; //filePath;
config = ConfigurationManager.OpenMappedExeConfiguration(filemap, ConfigurationUserLevel.None);
//指定我所要的节点
ConfigurationSection section = config.ConnectionStrings;if ((section.SectionInformation.IsProtected == false) && (section.ElementInformation.IsLocked == false))
{//制定节点加密
    section.SectionInformation.ProtectSection(protect);//即使没有修改也保存设置section.SectionInformation.ForceSave = true;//配置文件内容保存到xml
    config.Save(ConfigurationSaveMode.Full);
}

posted on 2013-03-26 21:48 风暴烈酒辰 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/Shadow3627/archive/2013/03/26/2983474.html

C# 程序配置文件的操作(ConfigurationManager的使用)相关推荐

  1. 第一个 Mybatis 程序(CURD操作)

    步骤 (1)搭建环境 1.搭建数据库 -- 创建数据库mybatis CREATE DATABASE `mybatis`; USE mybatis;-- 新建表 user CREATE TABLE ` ...

  2. c# 自定义应用程序配置文件(app.config)

    1. 向项目添加app.config文件: 右击项目名称,选择"添加"→"添加新建项",在出现的"添加新项"对话框中,选择"添加应 ...

  3. 自定义应用程序配置文件(app.config)

    1.        配置文件概述: 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序.配置文件的 ...

  4. uniapp开发小程序配置文件解析

    文章目录 前言 1.main.js 入口文件 2.App.vue 页面入口文件 2.1.应用生命周期 2.2.globalData 2.3.全局样式 3.pages.json 全局配置 3.1.pag ...

  5. 改变应用程序配置文件的文件名

    应用程序配置文件的文件名是可以任意更改的.比如: 向当前的可执行项目中添加一个XML文件,取名abc.config,输入以下代码 view plaincopy to clipboardprint? & ...

  6. ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...)

    ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...) 这里总结一下几个常用的退出操作: CHECK.(SAP官方推荐只在循环中使用) 1)CHECK ...

  7. DCMTK:根据DICOM第11部分媒体存储应用程序配置文件制作DICOMDIR

    DCMTK:根据DICOM第11部分媒体存储应用程序配置文件制作DICOMDIR 根据DICOM第11部分媒体存储应用程序配置文件制作DICOMDIR 根据DICOM第11部分媒体存储应用程序配置文件 ...

  8. 事件查看器 无法完成应用程序上的操作,接口未知

    事件查看器 无法完成"应用程序"上的操作,接口未知 问题描述: 打开事件查看器: 点击"应用程序",报错:无法完成"应用程序"上的操作,接口 ...

  9. 9.7 LSMW程序导出/导入操作手册-录屏

    9.7 LSMW程序导出/导入操作手册-录屏 业务说明:SAP系统分为 DEV配置系统-QAS测试系统-PRD生产系统 在DEV配置系统中通过LSMW将批量导入的程序创建完毕后,但是QAS测试系统和P ...

最新文章

  1. for循环的执行顺序
  2. oracle 序列的使用
  3. HAProxy http和https都使用mode tcp模式
  4. Java 8 (10) CompletableFuture:组合式异步编程
  5. P3545HUR-Warehouse StoreP4053建筑抢修(反悔贪心、堆)
  6. 简单的python流回显服务器与客户端
  7. rpm 安装RabbitMQ 3.7.24版本-User can only log in via localhost
  8. 异常处理:你不可能总是对的 - 零基础入门学习Python032
  9. 世界上第一个手机是怎么诞生的?谁是第一个用手机的人?
  10. MySQL 数据类型转化
  11. cad2022新功能介绍(autocad2022简体中文版)
  12. 免费录屏、直播推流软件之OBS Studio
  13. 结构梁配筋最牛插件_牛肉食用指南(五):日式烧肉的由来,各部位怎么烤最好吃?...
  14. Scratch3.0的作品如何转换成H5或.exe
  15. 来自Carson_Ho大神的最6的Android事件分发机制详解
  16. 基于PYNQ的AD采集系统
  17. 陕西美食羊肉泡馍,舌尖上的美感
  18. BP 神经网络的数据分类
  19. 职场人理财之指数基金篇
  20. iOS 最为经典的壁纸送上!安排

热门文章

  1. 安全设备——IDSIPS
  2. win 10.0.17134.915 版本无法更新处理方法
  3. 【ICPC-61】2013第四届“蓝桥杯”预选赛 解题报告
  4. 两种安装MinGW的方法
  5. 【推荐】雪亮工程解决方案社会治安综合治理防控平安乡村综治整体技术(共50份,933M)
  6. 教你轻松通过微软正版windows验证
  7. QGIS下载在线地图(Google 卫星、esri 卫星)
  8. idea编译失败类找不到解决方式
  9. SQL server内嵌表值函数与多语句表值函数
  10. ubuntu20.04安装WPS教程