配置文件——WebApp.config文件读取和修改
-
- using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.Linq;
- using System.Net.Mime;
- using System.Text;
- using System.Threading.Tasks;
- using System.Web;
- using System.Xml;
- namespace Infrastructure
- {
- public class WebConfigHelper
- {
- private Configuration _config;
- private readonly string _configPath;
- private readonly ConfigType _configType;
- /// <summary>
- /// 对应的配置文件
- /// </summary>
- public Configuration Configuration
- {
- get { return _config; }
- set { _config = value; }
- }
- /// <summary>
- /// 构造函数
- /// </summary>
- public WebConfigHelper()
- {
- _configPath = HttpContext.Current.Request.ApplicationPath;
- Initialize();
- }
- /// <summary>
- /// 构造函数
- /// </summary>
- /// <param name="configPath">.config文件的位置</param>
- /// <param name="configType">.config文件的类型,只能是网站配置文件或者应用程序配置文件</param>
- public WebConfigHelper(string configPath, ConfigType configType)
- {
- this._configPath = configPath;
- this._configType = configType;
- Initialize();
- }
- //实例化configuration,根据配置文件类型的不同,分别采取了不同的实例化方法
- private void Initialize()
- {
- //如果是WinForm应用程序的配置文件
- if (_configType == ConfigType.ExeConfig)
- {
- _config = ConfigurationManager.OpenExeConfiguration(_configPath);
- }
- else //WebForm的配置文件
- {
- _config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(_configPath);
- }
- }
- public string GetValueByKey(string key)
- {
- return ConfigurationManager.AppSettings[key];
- }
- /// <summary>
- /// 添加应用程序配置节点,如果已经存在此节点,则会修改该节点的值
- /// </summary>
- /// <param name="key">节点名称</param>
- /// <param name="value">节点值</param>
- public void AddAppSetting(string key, string value)
- {
- var appSetting = (AppSettingsSection)_config.GetSection("appSettings");
- if (appSetting.Settings[key] == null) //如果不存在此节点,则添加
- {
- appSetting.Settings.Add(key, value);
- }
- else //如果存在此节点,则修改
- {
- ModifyAppSetting(key, value);
- }
- }
- /// <summary>
- /// 修改应用程序配置节点,如果不存在此节点,则会添加此节点及对应的值
- /// </summary>
- /// <param name="key">节点名称</param>
- /// <param name="newValue">节点值</param>
- public void ModifyAppSetting(string key, string newValue)
- {
- var appSetting = (AppSettingsSection)_config.GetSection("appSettings");
- if (appSetting.Settings[key] != null) //如果存在此节点,则修改
- {
- appSetting.Settings[key].Value = newValue;
- }
- else //如果不存在此节点,则添加
- {
- AddAppSetting(key, newValue);
- }
- }
- /// <summary>
- /// 添加数据库连接字符串节点,如果已经存在此节点,则会修改该节点的值
- /// </summary>
- /// <param name="key">节点名称</param>
- /// <param name="connectionString">节点值</param>
- public void AddConnectionString(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 //如果存在此节点,则修改
- {
- ModifyConnectionString(key, connectionString);
- }
- }
- /// <summary>
- /// 修改数据库连接字符串节点,如果不存在此节点,则会添加此节点及对应的值
- /// </summary>
- /// <param name="key">节点名称</param>
- /// <param name="connectionString">节点值</param>
- public void ModifyConnectionString(string key, string connectionString)
- {
- var connectionSetting = (ConnectionStringsSection)_config.GetSection("connectionStrings");
- if (connectionSetting.ConnectionStrings[key] != null) //如果存在此节点,则修改
- {
- connectionSetting.ConnectionStrings[key].ConnectionString = connectionString;
- }
- else //如果不存在此节点,则添加
- {
- AddConnectionString(key, connectionString);
- }
- }
- /// <summary>
- /// 保存所作的修改
- /// </summary>
- public void Save()
- {
- _config.Save();
- }
- }
- public enum ConfigType
- {
- /// <summary>
- /// asp.net网站的config文件
- /// </summary>
- WebConfig = 1,
- /// <summary>
- /// Windows应用程序的config文件
- /// </summary>
- ExeConfig = 2
- }
- }
版权声明:本文为博主原创文章,未经博主允许不得转载。for you!
配置文件——WebApp.config文件读取和修改的更多相关文章
- 配置文件——App.config文件读取和修改
作为普通的xml文件读取的话,首先就要知道怎么寻找文件的路径.我们知道一般配置文件就在跟可执行exe文件在同一目录下,且仅仅在名称后面添加了一个.config 因此,可以用Application.Ex ...
- C# app.config文件配置和修改
很多时候我们需要对系统的.config文件进度读写操作,例如:系统初始化的参数的更改.系统参数的改变都需要更新到配置文件. 首先我们有必要了解一下app.config.exe.config和vshos ...
- config 文件读取
在项目中我们经常要使用到config文件进行相应的配置,来使我们的项目更加灵活健壮. 最常见的就connetionStrings .appSettings这两个节点,那么我们怎么读取呢? 1.首先 我 ...
- 关于Npoi+excel文件读取,修改文件内容的处理方式
因最近有需求场景,实现对文件的读写操作,又不单独生成新的文件,对于源文件的修改,做了一个简单实现,如下↓ // 要操作的excel文件路径 string fileName = Server.MapPa ...
- Java代码操作properties文件(读取,新增/修改,删除)
项目中需要用到操作properties文件中的数据,记录一下 package com.bonc.savepic.save; import java.io.FileNotFoundException; ...
- C# 修改Config文件,增删查改
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/BYH371256/article/det ...
- 在.net中读写config文件的各种方法
阅读目录 开始 config文件 - 自定义配置节点 config文件 - Property config文件 - Element config文件 - CDATA config文件 - Collec ...
- 在.net中读写config文件的各种方法(自定义config节点)
http://www.cnblogs.com/fish-li/archive/2011/12/18/2292037.html 阅读目录 开始 config文件 - 自定义配置节点 config文件 - ...
- 在.net中读写config文件的各种方法【转】
今天谈谈在.net中读写config文件的各种方法. 在这篇博客中,我将介绍各种配置文件的读写操作. 由于内容较为直观,因此没有过多的空道理,只有实实在在的演示代码, 目的只为了再现实战开发中的各种场 ...
随机推荐
- leetcode 111 Minimum Depth of Binary Tree ----- java
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- [HAOI2012]音量调节
题目描述 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都需要改变一次音量.在演出开始之前,他已经做好一个列表,里面写着每首歌开始之前他想要改变的音量是多少. ...
- CString用法总结
概述:CString是MFC中提供的用于处理字符串的类,是一种很有用的数据类型. 它很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作时方便了很多. 不管怎样,使用CString有很多的特殊 ...
- Mac OS实用技巧
→常用快捷键Win+Space Spotlight查找Win+↑ 平铺所有窗口Win+↓ 平铺当前焦点应用的所有窗口Win+←/→ 桌面之间切换 ...
- Bootstrap中文参考手册
Bootstrap是推出的一个开源的用于前端开发的工具包.它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架.Bootstrap提供了优雅的 ...
- Wireshark抓包实例分析TCP重复ACK与乱序
转载请在文首保留原文出处: EMC 中文支持论坛https://community.emc.com/go/chinese 介绍 TCP 的一大常见问题在于重复 ACK 与快速重传.这一现象的发生也是由 ...
- Uncaught TypeError: Illegal constructor(…)
使用jquery $(Document);会报这个错误.因为 Document(大写) 是函数. document(小写) 才是文档.
- *.bz2和*.gz分别是什么压缩格式
这两个都是linux常用的压缩格式,通常用来压缩源代码包,因为源代码文件过多,它们还经常跟tar命令结合使用所以一般下载linux的源代码就有.tar.bz2,.tar.gz这样的格式其中bz2格式的 ...
- Oracle数据库——数据库安全性管理
一.涉及内容 1.验证系统权限管理. 2.验证角色管理. 3.验证概要文件管理. 二.具体操作 (一) 1.根据以下要求进行系统权限的授予与回收操作. (1)创建用户user1,并为它授予create ...
- rsync-3.0.6-64
http://rsync.samba.org/ 用的是rsync-3.0.6-12.el6.x86_64 Rsync version 3.1.1 released June 22nd, 2014 Rs ...