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 ...
随机推荐
- userdate和table类型的效率对比
做cocos2d-x开发的人可能有不少人在实现类时会利用cocos2d-x自己给出的类的实现,也即在luaBinding目录下extern.lua的文件中给出的实现: --Create an clas ...
- characterCustomezition的资源打包代码分析
using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEngine; class Creat ...
- ZeroMQ(java)中的数据流SessionBase与SocketBase
前面的文章中已经比较的清楚了ZeroMQ(java)中如何在底层处理IO, 通过StreamEngine对象来维护SelectableChannel对象以及IO的事件回调,然后通过Poller对象来维 ...
- 电够动力足——认识主板上的CPU供电模块
CPU供电模块有啥用 CPU供电模块从字面上理解,就是专给CPU供电的一个电子元器件组合.因为CPU工作时就跟发动机一样,油(电)提供得稳不稳定.品质高不高就是CPU供电模块干的事情.反过来说,如果C ...
- HLG2081分苹果
苹果 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 39(24 users) Total Accepted: 29(22 users) ...
- 如何在linux中用命令产生一个范围内的随机数?
在shell中有一个环境变量RANDOM,它的范围是0--32767 如果我们想要产生0-25范围内的数,如何做呢?如下: $RANDOM%26 用这个环境变量对26取模,就可以得到最小是0,最大是2 ...
- 【Hibernate】Hibernate系列6之HQL查询
HQL查询 6.1.概述 6.2.分页查询 6.3.命名查询 6.4.投影查询-部分字段查询 6.5.报表查询 6.6.迫切左外连接.左外连接 6.7.迫切内连接.内连接 6.8.QBC查询.本地查询
- Segment Tree Modify
For a Maximum Segment Tree, which each node has an extra value max to store the maximum value in thi ...
- 【转】php json_encode中文为空的解决办法
转自:http://www.cnblogs.com/oldphper/p/4123415.html 本文列举3个方法,实现json_encode()后的string显示中文问题. 做接口时不需要,但存 ...
- 转数据库分库分表(sharding)系列(二) 全局主键生成策略
本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案.关于分库分表(sharding)的拆分策略和实施细则,请参考该系列的前一篇文章:数据库分库分表( ...