LIB 配置文件读写器
由于读写配置文件的次数比较频繁,而且拥有众多的类库,到最后,直接被各种各样的类库烦死。
顺手封一个简单,实用的。主要功能:
- 读写AppSetting
- 读取连接字符串
- 读取自定义配置节
using System;
using System.Configuration;
using System.Web.Configuration; namespace HPWorkUtility
{
/// <summary>
/// 配置文件读写器
/// </summary>
public class ConfigReaderWriter
{
/// <summary>
/// 获取指定的AppSetting
/// </summary>
/// <param name="key">键的名称</param>
/// <returns>键值</returns>
public static string GetAppSetting(string key)
{
return ConfigurationManager.AppSettings[key];
} /// <summary>
/// 获取指定的AppSetting
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="key">键的名称</param>
/// <returns>键值</returns>
public static T GetAppSetting<T>(string key)
{
var val = GetAppSetting(key);
return (T)Convert.ChangeType(val, typeof(T));
} /// <summary>
/// 设置AppSetting节的值
/// </summary>
/// <param name="key">键</param>
/// <param name="value">值</param>
/// <param name="isWebConfig">是否是WebConfig文件</param>
public static void SetAppSetting(string key, string value, bool isWebConfig)
{
//增加的内容写在appSettings段下 <add key="RegCode" value="0"/>
Configuration config = null;
if (isWebConfig)
{
config = WebConfigurationManager.OpenWebConfiguration("~");
}
else
{
config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
}
if (config.AppSettings.Settings[key] == null)
{
config.AppSettings.Settings.Add(key, value);
}
else
{
config.AppSettings.Settings[key].Value = value;
}
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");//重新加载新的配置文件
} /// <summary>
/// 读取自定义配置节
/// </summary>
/// <param name="sectionName">配置节的名称</param>
/// <returns>配置对象</returns>
public static object GetCustomSection(string sectionName)
{
return ConfigurationManager.GetSection(sectionName);
} /// <summary>
/// 读取自定义配置节
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="sectionName">配置节的名称</param>
/// <returns>配置对象</returns>
public static T GetCustomSection<T>(string sectionName) where T : class
{
return GetCustomSection(sectionName) as T;
} /// <summary>
/// 读取连接字符串
/// </summary>
/// <param name="name">名称</param>
/// <returns>连接字符串</returns>
public static string GetConnectionString(string name)
{
return GetConnectionStringSetting(name).ConnectionString;
} /// <summary>
/// 读取连接字符串设置对象
/// </summary>
/// <param name="name">名称</param>
/// <returns>设置对象</returns>
public static ConnectionStringSettings GetConnectionStringSetting(string name)
{
return ConfigurationManager.ConnectionStrings[name];
}
}
}
Lib中的,将会持续改进和更新~
LIB 配置文件读写器的更多相关文章
- C++ MFC实现基于RFID读写器的上位机软件
C++ MFC实现基于RFID读写器的上位机软件 该博客涉及的完整工程托管在https://github.com/Wsine/UpperMonitor,觉得好请给个Star (/▽\=) 运行和测试环 ...
- 文件读写器FileRW 1.0发布
这个软件未发布前,当年被计算机杂志报道过. FileRW 文件读写器 1.0功能介绍:1.可以以各种方式读普通文件和I/O文件.2.可以以各种方式写文件.3.可以配置文件的分享读写方式.4.可以指定文 ...
- .NET平台开源项目速览(1)SharpConfig配置文件读写组件
在.NET平台日常开发中,读取配置文件是一个很常见的需求.以前都是使用System.Configuration.ConfigurationSettings来操作,这个说实话,搞起来比较费劲.不知道大家 ...
- 纯C#的ini格式配置文件读写
虽然C#里都是添加app.config 并且访问也很方便 ,有时候还是不习惯用他.那么我们来做个仿C++下的那种ini配置文件读写吧,其他人写的都是调用非托管kernel32.dll.我也用过 但是感 ...
- Mifare系列6-射频卡与读写器的通信(转)
文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38085415 1. 复位应答(Answer to request) 读写器呼叫磁 ...
- RFID 读写器 Reader Writer Cloner
RFID读写器的工作原理 RFID的数据采集以读写器为主导,RFID读写器是一种通过无线通信,实现对标签识别和内存数据的读出和写入操作的装置. 读写器又称为阅读器或读头(Reader).查询器(Int ...
- MIFARE系列6《射频卡与读写器的通讯》
1. 复位应答(Answer to request) 读写器呼叫磁场内的卡片,卡片对呼叫做出应答.对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入休眠 ...
- IC卡接口芯片TDA8007的读写器设计
摘要:阐述T=0传输协议,给出IC卡读写器中使用的IC卡APDU指令流程和原理框图:重点介绍其中的IC卡接口芯片Philips的TDA8007,给出通过TDA8007对CPU IC卡上下电过程.具体程 ...
- NFC应用(二)读写器模式
NFC第二种应用场境就是所谓的读写器模式.既然有卡,当然就会有读写器,这两种模式是配合在一起使用的.两个卡放一起不能通信,两个读写器模式的设备也不能通信. NFC读写器一般支持以下一种或多种协议:Mi ...
随机推荐
- [BZOJ1998][Hnoi2010]Fsk物品调度
[BZOJ1998][Hnoi2010]Fsk物品调度 试题描述 现在找工作不容易,Lostmonkey费了好大劲才得到fsk公司基层流水线操作员的职位.流水线上有n个位置,从0到n-1依次编号,一开 ...
- [NOIP2015]推销员
[NOIP2015]推销员 试题描述 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有 N 家住户,第 i 家住 ...
- HDU3348(贪心求硬币数
;} coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- selenium webdriver的各种driver
selenium官方加上第三方宣布支持的驱动有很多种:除了PC端的浏览器之外,还支持iphone.Android的driver:大概记录一下selenium支持的各种driver的用途与说明. sel ...
- 【云计算】docker build如何支持参数化构建?
docker 1.9.0版本之后,已经支持docker build参数化构建. docker 版本更新记录: github讨论: 参开资料: https://github.com/docker/doc ...
- spring3.0+Atomikos 构建jta的分布式事务 -- NO
摘自: http://gongjiayun.iteye.com/blog/1570111 spring3.0+Atomikos 构建jta的分布式事务 spring3.0已经不再支持jtom了,不过我 ...
- Bulls and Cows
You are playing the following Bulls and Cows game with your friend: You write down a number and ask ...
- RadioButtonList单选和RequiredFieldValidator验证是否选中
<asp:RadioButtonList ID="Radio2" RepeatDirection="Horizontal" runat="ser ...
- 用jquery追加的元素不能触发treeview事件
在追加的元素后面添加: $("#navigation").treeview({ persist: "location", collapsed: true, un ...
- c++流的读写
std::istream input_stream;//这是一个文件流,想把它写入文件 思路是,先将input_stream流读入一个char* buffer; 然后用std::ofstream将bu ...