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 ...
随机推荐
- quick cocos 的scheduler 定时器
cocos2dx原生lua对于定时器的写法: 1.每帧调用: void scheduleUpdateWithPriority(int priority) void scheduleUpdateWith ...
- jquery消息提示框
用于ajax类型提示的,只显示一个. 只是给个思路而已,代码有很多不足. 4个参数,有2个是可选 调用 $.mTip('类型','显示内容',显示时间,回调函数) 类型: 0 为加载 1 为成功 2 ...
- Cannot locate factory for objects of type DefaultGradleConnector, as ConnectorServiceRegistry has been closed.
现象:更换android studio libs文件夹下的jar包,重新编译代码报错:Cannot locate factory for objects of type DefaultGradleCo ...
- Balanced Teams (USACO Jan Bronze 2014)
既然是bronze,毫无压力的AC了. 就是个深搜,当然加个剪枝--最后一个组不用搜. 恩可以一个一个组分层次dfs,这样会跑得飞起~~也不容易错 #include <cstdio> in ...
- ubuntu创建文件夹快捷方式命令
sudo ln -sT /path/to/source/directory /path/to/destination/directory 注意路径一定要用 绝对路径 例: /site-package ...
- django template中load的作用
某些应用提供自定义标签和过滤器库. 要在一个模板中访问它们, 使用 {% load %} 标签: {% load comments %} {% comment_form for blogs.entri ...
- 【Hibernate】Hibernate系列7之二级缓存
二级缓存 7.1.概述 7.2.配置方法
- Android读写assets、raw、sdard和工程文件的方法
Android开发离不开对文件的操作,前面的文章“Android简易数据存储之SharedPreferences”和“Android数据存储之SQLite的操作”,分别讲解了简单的数据的存储和数据库数 ...
- MYSQL 删除字段值为NULL的语法
2014年9月1日 15:11:05 delete form your_table where your_field is null and your_field1 = '123' ...
- Windows系统时间同步出错解决办法
有时候我们设置本地时间与Internet时间同步时,经常连接服务器time.windows.com超时,导致时间同步失败,解决办法如下: 利用快捷键"Win+R"调出运行框,输入: ...