关键词搜索

源码搜索 ×
×

C#配置文件操作】程序配置文件App.Config操作

发布2020-11-21浏览568次

详情内容

简介:
App.Config文件操作类

 

说明:
今天分享一个自开发来一直在用的配置文件操作类,用于读取和修改App.config的程序配置
 

使用方法:
获取指定配置的值:ConfigHelper.GetAppConfig("配置名称");
修改指定配置的值:
ConfigHelper.UpdateAppConfig("配置名称","新数据");
 

教程代码:
创建类时先引用:System.Configuration
 
  1. using System.Collections.Generic;
  2. using System.Configuration;
  3. namespace BinGoo
  4. {
  5. public class ConfigHelper
  6. {
  7. ///<summary>
  8. ///依据连接串名字connectionName返回数据连接字符串
  9. ///</summary>
  10. ///<param name="connectionName"></param>
  11. ///<returns></returns>
  12. public static string GetConnectionStringsConfig(string connectionName)
  13. {
  14. string connectionString =
  15. ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString();
  16. return connectionString;
  17. }
  18. ///<summary>
  19. ///更新连接字符串
  20. ///</summary>
  21. ///<param name="newName">连接字符串名称</param>
  22. ///<param name="newConString">连接字符串内容</param>
  23. ///<param name="newProviderName">数据提供程序名称</param>
  24. public static void UpdateConnectionStringsConfig(string newName, string newConString, string newProviderName)
  25. {
  26. bool isModified = false; //记录该连接串是否已经存在
  27. //如果要更改的连接串已经存在
  28. if (ConfigurationManager.ConnectionStrings[newName] != null)
  29. {
  30. isModified = true;
  31. }
  32. //新建一个连接字符串实例
  33. ConnectionStringSettings mySettings =
  34. new ConnectionStringSettings(newName, newConString, newProviderName);
  35. // 打开可执行的配置文件*.exe.config
  36. Configuration config =
  37. ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
  38. // 如果连接串已存在,首先删除它
  39. if (isModified)
  40. {
  41. config.ConnectionStrings.ConnectionStrings.Remove(newName);
  42. }
  43. // 将新的连接串添加到配置文件中.
  44. config.ConnectionStrings.ConnectionStrings.Add(mySettings);
  45. // 保存对配置文件所作的更改
  46. config.Save(ConfigurationSaveMode.Modified);
  47. // 强制重新载入配置文件的ConnectionStrings配置节
  48. ConfigurationManager.RefreshSection("ConnectionStrings");
  49. }
  50. public static List<string> GetAppConfigList(string ch)
  51. {
  52. List<string> listKeyStr = new List<string>();
  53. listKeyStr.Clear();
  54. foreach (string key in ConfigurationManager.AppSettings)
  55. {
  56. if (key.Length > ch.Length)
  57. {
  58. if (key.Substring(0, ch.Length).Equals(ch))
  59. listKeyStr.Add(key + ":" + ConfigurationManager.AppSettings[key]);
  60. }
  61. }
  62. return listKeyStr;
  63. }
  64. ///<summary>
  65. ///返回*.exe.config文件中appSettings配置节的value项
  66. ///</summary>
  67. ///<param name="strKey"></param>
  68. ///<returns></returns>
  69. public static string GetAppConfig(string strKey)
  70. {
  71. foreach (string key in ConfigurationManager.AppSettings)
  72. {
  73. if (key == strKey)
  74. {
  75. return ConfigurationManager.AppSettings[strKey];
  76. }
  77. }
  78. return null;
  79. }
  80. ///<summary>
  81. ///在*.exe.config文件中appSettings配置节增加一对键、值对
  82. ///</summary>
  83. ///<param name="newKey"></param>
  84. ///<param name="newValue"></param>
  85. public static void UpdateAppConfig(string newKey, string newValue)
  86. {
  87. bool isModified = false;
  88. foreach (string key in ConfigurationManager.AppSettings)
  89. {
  90. if (key == newKey)
  91. {
  92. isModified = true;
  93. }
  94. }
  95. // 打开应用程序配置文件
  96. Configuration config =
  97. ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
  98. //删除对象
  99. if (isModified)
  100. {
  101. config.AppSettings.Settings.Remove(newKey);
  102. }
  103. // 添加节点
  104. config.AppSettings.Settings.Add(newKey, newValue);
  105. // 保存app.config文件
  106. config.Save(ConfigurationSaveMode.Modified);
  107. //强制重新加载
  108. ConfigurationManager.RefreshSection("appSettings");
  109. }
  110. }
  111. }

配置文档App.Config内容格式:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <configuration>
  3. <configSections>
  4. </configSections>
  5. <connectionStrings>
  6. <add name="ConnStr" connectionString="user id =数据库账号;password=数据库密码;initial catalog=数据库名称;Server=127.0.0.1"/>
  7. </connectionStrings>
  8. <!--系统参数配置-->
  9. <appSettings>
  10. <add key="Debug" value="true"/>
  11. <add key="SocketIp" value="127.0.0.1"/>
  12. <add key="ServerPort" value="5000"/>
  13. </appSettings>
  14. <startup>
  15. <supportedRuntime version="v2.0.50727"/>
  16. </startup>
  17. </configuration>

其中配置文件中添加配置格式:
<add key="配置名称" value="配置的值"/>

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载