由于读写配置文件的次数比较频繁,而且拥有众多的类库,到最后,直接被各种各样的类库烦死。

顺手封一个简单,实用的。主要功能:

  • 读写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 配置文件读写器的更多相关文章

  1. C++ MFC实现基于RFID读写器的上位机软件

    C++ MFC实现基于RFID读写器的上位机软件 该博客涉及的完整工程托管在https://github.com/Wsine/UpperMonitor,觉得好请给个Star (/▽\=) 运行和测试环 ...

  2. 文件读写器FileRW 1.0发布

    这个软件未发布前,当年被计算机杂志报道过. FileRW 文件读写器 1.0功能介绍:1.可以以各种方式读普通文件和I/O文件.2.可以以各种方式写文件.3.可以配置文件的分享读写方式.4.可以指定文 ...

  3. .NET平台开源项目速览(1)SharpConfig配置文件读写组件

    在.NET平台日常开发中,读取配置文件是一个很常见的需求.以前都是使用System.Configuration.ConfigurationSettings来操作,这个说实话,搞起来比较费劲.不知道大家 ...

  4. 纯C#的ini格式配置文件读写

    虽然C#里都是添加app.config 并且访问也很方便 ,有时候还是不习惯用他.那么我们来做个仿C++下的那种ini配置文件读写吧,其他人写的都是调用非托管kernel32.dll.我也用过 但是感 ...

  5. Mifare系列6-射频卡与读写器的通信(转)

    文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38085415 1. 复位应答(Answer to request) 读写器呼叫磁 ...

  6. RFID 读写器 Reader Writer Cloner

    RFID读写器的工作原理 RFID的数据采集以读写器为主导,RFID读写器是一种通过无线通信,实现对标签识别和内存数据的读出和写入操作的装置. 读写器又称为阅读器或读头(Reader).查询器(Int ...

  7. MIFARE系列6《射频卡与读写器的通讯》

    1. 复位应答(Answer to request) 读写器呼叫磁场内的卡片,卡片对呼叫做出应答.对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入休眠 ...

  8. IC卡接口芯片TDA8007的读写器设计

    摘要:阐述T=0传输协议,给出IC卡读写器中使用的IC卡APDU指令流程和原理框图:重点介绍其中的IC卡接口芯片Philips的TDA8007,给出通过TDA8007对CPU IC卡上下电过程.具体程 ...

  9. NFC应用(二)读写器模式

    NFC第二种应用场境就是所谓的读写器模式.既然有卡,当然就会有读写器,这两种模式是配合在一起使用的.两个卡放一起不能通信,两个读写器模式的设备也不能通信. NFC读写器一般支持以下一种或多种协议:Mi ...

随机推荐

  1. HDU 1062 Text Reverse(水题,字符串处理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1062 解题报告:注意一行的末尾可能是空格,还有记得getchar()吃回车符. #include< ...

  2. Linux下网络故障诊断

    导读 由于实现网络服务器的层次结构比较多,因此当网络出现故障时,解决起来比较复杂.下面由我来为大家详细介绍Linux系统中可能出现的一些网络问题,如网卡硬件问题.网络配置问题.驱动程序问题,以及网络层 ...

  3. Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression

    原文:http://blog.csdn.net/abcjennifer/article/details/7732417 本文为Maching Learning 栏目补充内容,为上几章中所提到单参数线性 ...

  4. 图像特征提取:Sobel边缘检测

    前言 点和线是做图像分析时两个最重要的特征,而线条往往反映了物体的轮廓,对图像中边缘线的检测是图像分割与特征提取的基础.文章主要讨论两个实际工程中常用的边缘检测算法:Sobel边缘检测和Canny边缘 ...

  5. shell笔记-local、export用法 、declare、set

    local一般用于局部变量声明,多在在函数内部使用.     1.    Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止.     2. ...

  6. mybatis处理集合、循环、数组和in查询等语句的使用

    在Mybatis的xml配置中使用集合,主要是用到了foreach动态语句. foreach的参数: foreach元素的属性主要有 item,index,collection,open,separa ...

  7. Shell编程基础

    写之前我们先来搞清楚为什么要学shell,学习要有目的性shell简单.灵活.高效,特别适合处理一些系统管理方面的小问题shell可以实现自动化管理,让系统管理员的工作变得容易.简单.高效shell脚 ...

  8. Python OpenSource Project

    http://www.oschina.net/project/lang/25/python

  9. 【转】Solr从数据库导入数据(DIH)

    本文转自:http://blog.csdn.net/xiaoyu714543065/article/details/11849115 一. 数据导入(DataImportHandler-DIH) DI ...

  10. DP:Dollar Dayz(POJ 3181)

    一道高精度DP 题目大意,换工具,有m块钱,有k种价值的物品,(1...k),求一共有多少种换法 这一题就是完全背包,现在这种完全背包对我来说就是水题了, 状态转移方程闭着眼睛写dp[j]+=dp[j ...