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

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

  • 读写AppSetting
  • 读取连接字符串
  • 读取自定义配置节
  1. using System;
  2. using System.Configuration;
  3. using System.Web.Configuration;
  4.  
  5. namespace HPWorkUtility
  6. {
  7. /// <summary>
  8. /// 配置文件读写器
  9. /// </summary>
  10. public class ConfigReaderWriter
  11. {
  12. /// <summary>
  13. /// 获取指定的AppSetting
  14. /// </summary>
  15. /// <param name="key">键的名称</param>
  16. /// <returns>键值</returns>
  17. public static string GetAppSetting(string key)
  18. {
  19. return ConfigurationManager.AppSettings[key];
  20. }
  21.  
  22. /// <summary>
  23. /// 获取指定的AppSetting
  24. /// </summary>
  25. /// <typeparam name="T">类型</typeparam>
  26. /// <param name="key">键的名称</param>
  27. /// <returns>键值</returns>
  28. public static T GetAppSetting<T>(string key)
  29. {
  30. var val = GetAppSetting(key);
  31. return (T)Convert.ChangeType(val, typeof(T));
  32. }
  33.  
  34. /// <summary>
  35. /// 设置AppSetting节的值
  36. /// </summary>
  37. /// <param name="key">键</param>
  38. /// <param name="value">值</param>
  39. /// <param name="isWebConfig">是否是WebConfig文件</param>
  40. public static void SetAppSetting(string key, string value, bool isWebConfig)
  41. {
  42. //增加的内容写在appSettings段下 <add key="RegCode" value="0"/>
  43. Configuration config = null;
  44. if (isWebConfig)
  45. {
  46. config = WebConfigurationManager.OpenWebConfiguration("~");
  47. }
  48. else
  49. {
  50. config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
  51. }
  52. if (config.AppSettings.Settings[key] == null)
  53. {
  54. config.AppSettings.Settings.Add(key, value);
  55. }
  56. else
  57. {
  58. config.AppSettings.Settings[key].Value = value;
  59. }
  60. config.Save(ConfigurationSaveMode.Modified);
  61. ConfigurationManager.RefreshSection("appSettings");//重新加载新的配置文件
  62. }
  63.  
  64. /// <summary>
  65. /// 读取自定义配置节
  66. /// </summary>
  67. /// <param name="sectionName">配置节的名称</param>
  68. /// <returns>配置对象</returns>
  69. public static object GetCustomSection(string sectionName)
  70. {
  71. return ConfigurationManager.GetSection(sectionName);
  72. }
  73.  
  74. /// <summary>
  75. /// 读取自定义配置节
  76. /// </summary>
  77. /// <typeparam name="T">类型</typeparam>
  78. /// <param name="sectionName">配置节的名称</param>
  79. /// <returns>配置对象</returns>
  80. public static T GetCustomSection<T>(string sectionName) where T : class
  81. {
  82. return GetCustomSection(sectionName) as T;
  83. }
  84.  
  85. /// <summary>
  86. /// 读取连接字符串
  87. /// </summary>
  88. /// <param name="name">名称</param>
  89. /// <returns>连接字符串</returns>
  90. public static string GetConnectionString(string name)
  91. {
  92. return GetConnectionStringSetting(name).ConnectionString;
  93. }
  94.  
  95. /// <summary>
  96. /// 读取连接字符串设置对象
  97. /// </summary>
  98. /// <param name="name">名称</param>
  99. /// <returns>设置对象</returns>
  100. public static ConnectionStringSettings GetConnectionStringSetting(string name)
  101. {
  102. return ConfigurationManager.ConnectionStrings[name];
  103. }
  104. }
  105. }

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. userdate和table类型的效率对比

    做cocos2d-x开发的人可能有不少人在实现类时会利用cocos2d-x自己给出的类的实现,也即在luaBinding目录下extern.lua的文件中给出的实现: --Create an clas ...

  2. Linux/Ubuntu tree 命令以树形结构显示文件夹目录结构

    1.安装命令工具 sudo apt-get -y install tree 2.可以查看关于tree命令的帮助信息 $ tree --help usage: tree [-adfghilnpqrstu ...

  3. HDFS深入浅析

    导读 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式文件系统 ...

  4. [BZOJ3343]教主的魔法

    [BZOJ3343]教主的魔法 试题描述 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1.2.… ...

  5. Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说。。。

    Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说... root@xi4ojin:~# cd ...

  6. MogileFS 的介绍(MogileFS 系列1)[分布式文件系统]

    MogileFS 是一个开源的分布式文件系统,用于组建分布式文件集群,由 LiveJournal 旗下 Danga Interactive 公司开发,Danga 团队开发了包括 Memcached.M ...

  7. i686和x86_64的区别

    找回TCL隐藏分区(转载) 用Wubi安装 Ubuntu 出现(Initranfs)问题的解决方案 i686和x86_64的区别 2009-04-11 08:19:31|  分类: 电脑问题 |  标 ...

  8. 【Django】Django 直接执行原始SQL 如何防止SQL注入 ?

    代码示例: #错误--不要直接格式化字符串 query = 'SELECT * FROM myapp_person WHERE last_name = %s' % lname Person.objec ...

  9. [MySQL] - MySQL的Grant命令

    本文实例,运行于 MySQL 5.0 及以上版本. MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删 ...

  10. Solr5.3.1整合IKAnalyzer

    由于solr5.3.1本身不支持中文分词,而msseg4j的分词效果不明显.因而采用IK进行分词,然而参考http://www.superwu.cn/2015/05/08/2134/在google上下 ...