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;




目录
相关文章
|
7月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
337 35
|
11月前
|
开发框架 前端开发 JavaScript
ASP.NET Web Pages - 教程
ASP.NET Web Pages 是一种用于创建动态网页的开发模式,采用HTML、CSS、JavaScript 和服务器脚本。本教程聚焦于Web Pages,介绍如何使用Razor语法结合服务器端代码与前端技术,以及利用WebMatrix工具进行开发。适合初学者入门ASP.NET。
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
741 3
|
编解码 前端开发 JavaScript
.NET_web前端框架_layui_栅格布局
【8月更文挑战第27天】
232 4
|
11月前
|
运维 前端开发 C#
一套以用户体验出发的.NET8 Web开源框架
一套以用户体验出发的.NET8 Web开源框架
303 7
一套以用户体验出发的.NET8 Web开源框架
|
10月前
|
开发框架 数据可视化 .NET
.NET 中管理 Web API 文档的两种方式
.NET 中管理 Web API 文档的两种方式
192 14
|
11月前
|
开发框架 .NET PHP
ASP.NET Web Pages - 添加 Razor 代码
ASP.NET Web Pages 使用 Razor 标记添加服务器端代码,支持 C# 和 Visual Basic。Razor 语法简洁易学,类似于 ASP 和 PHP。例如,在网页中加入 `@DateTime.Now` 可以实时显示当前时间。
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
309 6
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
214 3
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
295 3

热门文章

最新文章