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); }
转载于:https://www.cnblogs.com/Shadow3627/archive/2013/03/26/2983474.html
C# 程序配置文件的操作(ConfigurationManager的使用)相关推荐
- 第一个 Mybatis 程序(CURD操作)
步骤 (1)搭建环境 1.搭建数据库 -- 创建数据库mybatis CREATE DATABASE `mybatis`; USE mybatis;-- 新建表 user CREATE TABLE ` ...
- c# 自定义应用程序配置文件(app.config)
1. 向项目添加app.config文件: 右击项目名称,选择"添加"→"添加新建项",在出现的"添加新项"对话框中,选择"添加应 ...
- 自定义应用程序配置文件(app.config)
1. 配置文件概述: 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序.配置文件的 ...
- uniapp开发小程序配置文件解析
文章目录 前言 1.main.js 入口文件 2.App.vue 页面入口文件 2.1.应用生命周期 2.2.globalData 2.3.全局样式 3.pages.json 全局配置 3.1.pag ...
- 改变应用程序配置文件的文件名
应用程序配置文件的文件名是可以任意更改的.比如: 向当前的可执行项目中添加一个XML文件,取名abc.config,输入以下代码 view plaincopy to clipboardprint? & ...
- ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...)
ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...) 这里总结一下几个常用的退出操作: CHECK.(SAP官方推荐只在循环中使用) 1)CHECK ...
- DCMTK:根据DICOM第11部分媒体存储应用程序配置文件制作DICOMDIR
DCMTK:根据DICOM第11部分媒体存储应用程序配置文件制作DICOMDIR 根据DICOM第11部分媒体存储应用程序配置文件制作DICOMDIR 根据DICOM第11部分媒体存储应用程序配置文件 ...
- 事件查看器 无法完成应用程序上的操作,接口未知
事件查看器 无法完成"应用程序"上的操作,接口未知 问题描述: 打开事件查看器: 点击"应用程序",报错:无法完成"应用程序"上的操作,接口 ...
- 9.7 LSMW程序导出/导入操作手册-录屏
9.7 LSMW程序导出/导入操作手册-录屏 业务说明:SAP系统分为 DEV配置系统-QAS测试系统-PRD生产系统 在DEV配置系统中通过LSMW将批量导入的程序创建完毕后,但是QAS测试系统和P ...
最新文章
- for循环的执行顺序
- oracle 序列的使用
- HAProxy http和https都使用mode tcp模式
- Java 8 (10) CompletableFuture:组合式异步编程
- P3545HUR-Warehouse StoreP4053建筑抢修(反悔贪心、堆)
- 简单的python流回显服务器与客户端
- rpm 安装RabbitMQ 3.7.24版本-User can only log in via localhost
- 异常处理:你不可能总是对的 - 零基础入门学习Python032
- 世界上第一个手机是怎么诞生的?谁是第一个用手机的人?
- MySQL 数据类型转化
- cad2022新功能介绍(autocad2022简体中文版)
- 免费录屏、直播推流软件之OBS Studio
- 结构梁配筋最牛插件_牛肉食用指南(五):日式烧肉的由来,各部位怎么烤最好吃?...
- Scratch3.0的作品如何转换成H5或.exe
- 来自Carson_Ho大神的最6的Android事件分发机制详解
- 基于PYNQ的AD采集系统
- 陕西美食羊肉泡馍,舌尖上的美感
- BP 神经网络的数据分类
- 职场人理财之指数基金篇
- iOS 最为经典的壁纸送上!安排