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;

时间: 2024-07-29 01:11:34

ASP.NET Web.Config 读写辅助类的相关文章

ASP.NET web.config 配置节点详解_基础应用

web.config 文件查找规则: (1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结点名称,如果存在返回结果并停止查找. (2)如果当前页面所在目录下不存在web.config文件或者web.config文件中不存在该结点名,则查找它的上级目录,直到网站的根目录. (3)如果网站根目录下不存在web.config文件或者web.config文件中不存在该节点名则在%windir%"Microsoft.NET"Framework"v2.0.

asp.net Web.Config保存设置导致网站不定时重启的问题

前几天写了篇ASP.NET读写Web.Config,之后我确实用了文中的方法,重写了我网站的配置模块.结果上线之后,却发现网站时不时地重启,非常诡异. 研究之后,我发现只要是对Web.Config做修改,就会使IIS重启网站,它不是立即重启的,似乎和GC一样有个阀值.然而我的设置必须保存在Web.Config中,这可肿么办?经过一番Google,终于找到了解决方案,现在似乎已经修复网站重启的问题了. 方法是,把Web.Config的appSettings节点里的配置信息写到另一个文件中,然后设置

asp.net web.config配置节说明

web.config 文件查找规则:      (1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结点名称,如果存在返回结果并停止查找.      (2)如果当前页面所在目录下不存在web.config文件或者web.config文件中不存在该结点名,则查找它的上级目录,直到网站的根目录.      (3)如果网站根目录下不存在web.config文件或者web.config文件中不存在该节点名则在%windir%"Microsoft.NET"Frame

ASP.NET web.config中 数据库连接字符串加密解密_实用技巧

虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容 加密: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "你的Web项目路径" 解密: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -

ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法_实用技巧

在ASP.NET开发的网站根目录,有一个名为web.config的文件,顾名思义,这是为整个网站进行配置的文件,其格式为XML格式.这里主要谈谈文件中的<connectionStrings>节. <connectionStrings>节是对连接到数据库的字符串进行配置,由于MS SQL Server与ASP.NET同属于微软的产品,因此是使用ASP.NET开发时首选的数据库是MS SQL Server,本文只讨论对MS SQL Server的连接字符串情况.第一种情况,本地开发时,

asp.net web.config加密解密方法_实用技巧

使用命令行工具aspnet_regiis.exe 你还能够使用aspnet_regiis.exe命令行工具来加密和解密Web.config文件配置部分,你可以在"%WINDOWSDIR%\Microsoft.Net\Framework\version"目录下找到这个工具.为了加密Web.config文件中的一个节,你可以在这个命令行工具中使用DPAPI机器密钥,如下所示: 加密一个特定网站的Web.config文件的通用形式: 复制代码 代码如下: aspnet_regiis.exe

asp.net web.config中设置首页

问题描述 我有这样一个需求:在一个网站中跳转的页面为网站的根目录例如:现在在http://www.example.com/test/test.aspx页面中进行跳转到路径http://www.example.com/上.问题:1.我使用vsts2012中进行开发调试,怎么在web.config中设置访问路径http://www.example.com就可以直接转到http://www.example.com/index.htm上,但是浏览器的url中显示的是http://www.example.

asp.net web.config 配置文件节点说明

asp教程.net web.config 配置文件节点说明 web.config文件是一个xml文本文件,它用来储存 asp.net教程 web 应用程序的配置信息(如最常用的设置asp.net web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中.当你通过vb.net新建一个web应用程序后,默认情况下会在根目录自动创建一个默认的 web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置.如果你想修改子目录的配置设置,你可以在该子目录下新建一个web.con

ASP.NET web.config中&lt;customErrors&gt;节点说明

customErrors>节点用于定义一些自定义错误信息的信息.此节点有Mode和defaultRedirect两个属性,其中defaultRedirect属性是一个可选属性,表示应用程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误.Mode属性是一个必选属性,它有三个可能值,它们所代表的意义分别如下: Mode 说明On 表示在本地和远程用户都会看到自定义错误页面.Off 禁用自定义错误信息,本地和远程用户都会看到详细的错误信息.(默认)RemoteOnly 表示本地用户