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;


作者:a497785609 发表于2014-6-4 11:32:28 原文链接
阅读:10 评论:0 查看评论

[转]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. 斯坦福大学CS224d基础1:线性代数回顾

    转自 http://blog.csdn.net/han_xiaoyang/article/details/51629242 斯坦福大学CS224d基础1:线性代数知识 作者:Zico Kolter ( ...

  2. mysql PDO的使用

    原文链接:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/08/12/1797753.html

  3. python购物&常用字符处理方法

    python 一个购物车的例子 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 '''购物车''' 4 5 goods = [ 6 7 {&quo ...

  4. html5浮动、等高、弹性盒模型

    1px dashed虚线 box-sizing拯救了布局 1.inherit  继承父级 2.content-box(默认)-----这个盒子的边框.内边距 这2个值是不包括在width和height ...

  5. android-详解Android 6.0运行时权限

    感谢郭神,从Android 6.0开始,不再是安装应用时用户确定获得全部的权限.而是在使用软件过程中需要该权限时,弹出对话框让用户选择权限.不仅如此,用户选择权限后还可以关闭. 检查是否获得权限 通过 ...

  6. jQuery1.11源码分析(7)-----jQuery一些基本的API

    这篇文章比较繁杂,主要就是把jQuery源码从上到下列出来,看我的注释就好了. jQuery源码对各种加载器做了处理. //阅读这个源码是请先了解一下概念,即时函数,工厂模式 (function( g ...

  7. seajs模块加载与执行原理小记

    本文仅讨论具名模块的情况,即通过spm打包出来的模块. 想起ID与路径统一原则,详见https://github.com/seajs/seajs/issues/930 今天又研究了下seajs源码,源 ...

  8. 关于webstorm的使用编码的问题

    在问storm中,保存的js文件他有编码的问题,所以会导致如果页面上的元素是js文件中赋值的话,那么出现在html中会是乱码的问题,那么这个时候,极度,非常,非常有可能是js的编码的方式问题了~~~~ ...

  9. Python webpy微信公众号开发之 回复图文消息

    新建图文回复模板reply_pictext.xml: $def with (toUser,fromUser,createTime,title1,description1,picurl1,url1)&l ...

  10. 破解LR时,解决loadrunner 破解错误:license security violation.Operation is not allowed

    一.由于在压力测试执行中,出现一个-10803的错误 ,为解决这个错误,重新设置的环境变量,在次执行错误,这个问题解决了,但另外一个问题出来了,LR,打开脚本编辑器老提示找不到TEMP目录,当时没有想 ...