ASP.NET Web.Config 读写辅助类
using System; using System.Configuration; using System.Web; using System.Web.Configuration; namespace Whir.ezEIP { /// <summary> /// WebConfig读写辅助类 /// </summary> public class WebConfigManager : IDisposable { private Configuration _config; /// <summary> /// WebConfig读写辅助类 /// </summary> public WebConfigManager() : this(HttpContext.Current.Request.ApplicationPath) { } /// <summary> /// WebConfig读写辅助类 /// </summary> /// <param name="path"></param> public WebConfigManager(string path) { _config = WebConfigurationManager.OpenWebConfiguration(path); } #region IDisposable Members public void Dispose() { if (_config != null) { _config.Save(); } } #endregion /// <summary> /// 设置应用程序配置节点,如果已经存在此节点,则会修改该节点的值,否则添加此节点 /// </summary> /// <param name="key">节点名称</param> /// <param name="value">节点值</param> public void SetAppSetting(string key, string value) { var appSetting = (AppSettingsSection)_config.GetSection("appSettings"); if (appSetting.Settings[key] == null) //如果不存在此节点,则添加 { appSetting.Settings.Add(key, value); } else //如果存在此节点,则修改 { appSetting.Settings[key].Value = value; } Save(); } /// <summary> /// 设置数据库连接字符串节点,如果不存在此节点,则会添加此节点及对应的值,存在则修改 /// </summary> /// <param name="key">节点名称</param> /// <param name="connectionString"> </param> public void SetConnectionString(string key, string connectionString) { var connectionSetting = (ConnectionStringsSection)_config.GetSection("connectionStrings"); if (connectionSetting.ConnectionStrings[key] == null) //如果不存在此节点,则添加 { var connectionStringSettings = new ConnectionStringSettings(key, connectionString); connectionSetting.ConnectionStrings.Add(connectionStringSettings); } else //如果存在此节点,则修改 { connectionSetting.ConnectionStrings[key].ConnectionString = connectionString; } Save(); } /// <summary> /// 保存所作的修改 /// </summary> public void Save() { _config.Save(); _config = null; } } }
使用方法:
var config = new WebConfigManager(); config.SetAppSetting("StrRegex", "");
读取AppSetting和ConnectionString:
string fileType=ConfigurationManager.AppSettings["FileType "];
string connectionString = ConfigurationManager.ConnectionStrings["AspNetStudyConnectionString1"].ConnectionString;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架