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;


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

  1. [转]ASP.NET Web.Config 读写辅助类

    using System; using System.Configuration; using System.Web; using System.Web.Configuration; namespac ...

  2. Asp.net Web.Config - 配置元素 caching

    Asp.net Web.Config - 配置元素 caching 记得之前在写缓存DEMO的时候,好像配置过这个元素,好像这个元素还有点常用. 一.caching元素列表   元素 说明 cache ...

  3. ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法

    ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法 第一种情况,本地开发时,使用本地数据库,如下面的代码 <connectionStrings& ...

  4. ASP.NET Web.config学习

    花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...

  5. asp.net web.config配置节说明

    web.config 文件查找规则:      (1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结点名称,如果存在返回结果并停止查找.      (2)如果当前页面所 ...

  6. asp.net web.config配置节说明(转发)

    原文地址:http://www.cnblogs.com/qingyuan/articles/1501644.html web.config 文件查找规则:      (1)如果在当前页面所在目录下存在 ...

  7. ASP.NET web.config中的连接字符串

    在ASP.NET的web.config中,可以用两种方式来写连接字符串的配置. <configuration> <appSettings> <add key=" ...

  8. ASP.NET Web.config

    分析: .NET Web 应用程序的配置信息(如最常用的设置ASP.Net Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中.当你通过VB.NET新 建 一个Web应用程序后,默认 ...

  9. asp.net web.config 设置Session过期时间

    在Asp.net中,可以有四处设置Session的过期时间:(原文作者:望月狼地址:http://www.cnblogs.com/wangyuelang0526/) 一.全局网站(即服务器)级 IIS ...

随机推荐

  1. Why The Golden Age Of Machine Learning is Just Beginning

    Why The Golden Age Of Machine Learning is Just Beginning Even though the buzz around neural networks ...

  2. meclipse中project facet问题

    meclipse中project facet问题 (2012-02-14 14:59:48) 转载▼ 标签: 杂谈 分类: 技术 一般出现在从别处import的项目上,只有项目文件夹上有红叉,其他地方 ...

  3. serialization机制

    首先说明一下序列化的知识: java中的序列化(serialization)机制能够将一个实例对象的状态信息写入到一个字节流中,使其可以通过socket进行传输.或者持久化存储到数据库或文件系统中:然 ...

  4. 三大框架ssh

    一.hibernate a.实体类+映射 b.lib  hibernate包+oracle包(oracle安装里找) 映射:从类入手class+属性 a.映射的头文件在:hibernate3.jar- ...

  5. myBatis 实现用户表增删查改操作<方法2 加入接口>(最终版)

    这2种方法的区别:1.添加接口 2.运用接口来实现 其他的都一样 添加接口 //接口的名字和xml的名字一样,这样xml中的namespace就不用改 public interface UserMap ...

  6. Hibernate unsaved-value 属性

    Session的saveOrUpdate方法是由Hibernate来判断被操作对象究竟是一个持久化对象还是临时自由状态对象.这需要在对象映射文件的主键id中定义unsaved-value属性,如果不显 ...

  7. git常见问题解决办法

    1,git status乱码 git config --global core.quotepath false 执行完后再使用时,就显示正常了

  8. phpcms下载下来的程序刚安装就报错了

    你服务器设置的索引等级 index.php比index.html的等级高.你输入地址 http://你的域名/index.html试试. ( ! ) Warning: array_keys() exp ...

  9. JavaScript初级教程(Jquery)

    序,学习前端页面编程技术,JS是不得不学的一门技术,目前JS不仅可以作为前端编程语言,在服务器端也有了一定发展,例如NodeJS.废话不多书,本篇博客主要介绍JS作为前端语言,怎样获得和改变HTML标 ...

  10. java工具类包

    Hutool 提供丰富的java方法,其maven引用 <dependency> <groupId>com.xiaoleilu</groupId> <arti ...