BS Web窗体 动态修改WebConfig文件参数及数据库链接串
WebConfig操作帮助类
///
/// ConfigurationOperator 的摘要说明
///
public class ConfigurationOperator : IDisposable
{
private Configuration config;
public ConfigurationOperator()
: this(HttpContext.Current.Request.ApplicationPath)
{ }
public ConfigurationOperator(string path)
{
// Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
config = WebConfigurationManager.OpenWebConfiguration(path);
}
///
/// 设置应用程序配置节点,如果已经存在此节点,则会修改该节点的值,否则添加此节点
///
/// 节点名称
/// 节点值
public void SetAppSetting(string key, string value)
{
AppSettingsSection appSetting = (AppSettingsSection)config.GetSection("appSettings");
if (appSetting.Settings[key] == null)//如果不存在此节点,则添加
{
appSetting.Settings.Add(key, value);
}
else//如果存在此节点,则修改
{
appSetting.Settings[key].Value = value;
}
}
///
/// 设置数据库连接字符串节点,如果不存在此节点,则会添加此节点及对应的值,存在则修改
///
/// 节点名称
/// 节点值
public void SetConnectionString(string key, string connectionString)
{
ConnectionStringsSection connectionSetting = (ConnectionStringsSection)config.GetSection("connectionStrings");
if (connectionSetting.ConnectionStrings[key] == null)//如果不存在此节点,则添加
{
ConnectionStringSettings connectionStringSettings = new ConnectionStringSettings(key, connectionString);
connectionSetting.ConnectionStrings.Add(connectionStringSettings);
}
else//如果存在此节点,则修改
{
connectionSetting.ConnectionStrings[key].ConnectionString = connectionString;
}
}
///
/// 保存所作的修改
///
public void Save()
{
config.Save();
config = null;
}
public void Dispose()
{
if (config != null)
{
config.Save();
}
} /// <summary>
/// 根据数据库连接串,测试是否连接成功
/// </summary>
/// <param name="connText"></param>
/// <returns></returns>
public string ResultText(string connText)
{
SqlConnection conn = new SqlConnection();
string txtValue = string.Empty; using (SqlConnection connection = new SqlConnection(connText))
{
try
{
connection.Open();
}
catch (Exception ex)
{
txtValue = ex.ToString();
}
return txtValue;
}
}
}
Web窗体.CS后台调用方法
/// <summary>
/// 数据库连接串更新
/// </summary>
/// <param name="name">数据库连接串名称</param>
/// <param name="connStr">数据库连接(加密)</param>
public static void UpdateConnectionStrings(string name,string connStr)
{
//调用
ConfigurationOperator cfgOper = new ConfigurationOperator();
cfgOper.SetConnectionString(name, connStr);//添加一个节点,如果有就修改 cfgOper.Save();
cfgOper.Dispose();
} /// <summary>
/// 参数更新
/// </summary>
/// <param name="key">参数名称</param>
/// <param name="value">参数值</param>
public static void UpdateAppSettings(string key,string value)
{
//调用
ConfigurationOperator cfgOper = new ConfigurationOperator();
cfgOper.SetAppSetting(key, value);//添加一个节点,如果有就修改 cfgOper.Save();
cfgOper.Dispose();
}
参数获取
ConfigurationManager.AppSettings["canshu1"]
数据库链接获取
ConfigurationManager.ConnectionStrings["conStr"].ConnectionString
其他:
var config= ConfigurationManager.AppSettings["minAmount"];//获取值
Configuration cfa = WebConfigurationManager.OpenWebConfiguration("~");
cfa.AppSettings.Settings.Add("key", "value");//添加值
cfa.AppSettings.Settings["redRule"].Value = "-1";//修改值
cfa.Save();//保存
//ConfigurationManager.RefreshSection("appSettings"); //强制刷新配置文件
BS Web窗体 动态修改WebConfig文件参数及数据库链接串的更多相关文章
- [置顶] c# asp.net 修改webconfig文件 配置
c# asp.net 修改webconfig文件 配置 #region 修改config文件 /// <summary> /// 修改config文件(AppSetting节点) /// ...
- 运行时动态修改webconfig
网站运行时,如果直接手动修改webconfig.xml,会造成线程池重启,对于PV大的网站来说风险是很大的,并且如果有多台服务器,逐台修改也会造成数据不一致. .NET 2.0后可以通过代码修改web ...
- oracle通过修改控制文件scn推进数据库scn
数据库当前scn 代码如下 复制代码 idle> select checkpoint_change# from v$database; CHECKPOINT_CHANGE#----------- ...
- maven 根据P参数值打包动态修改properties文件中值或一定properties
需求:由于最近开发clover项目 ,没有使用spring,更没有使用任何框架,而使用J2EE的web工程,所以连接ZK和MongoDB.Redis等服务器需用指定properties文件, 而目前公 ...
- jmeter动态修改线程组参数
jmeter非gui模式修改线程属性进行性能测试 在使用JMeter进行性能测试自动化时,如果按照平常的非Gui模式就是脚本每次修改参数都需要在gui模式下修改保存之后,然后在非gui模式之后运行,这 ...
- c# asp.net 修改webconfig文件 配置
#region 修改config文件 /// <summary> /// 修改config文件(AppSetting节点) /// </summary> /// <par ...
- 动态修改PE文件图标(使用UpdateResource API函数)
PE文件的图标存储在资源文件中,而操作资源要用到的API函数就是UpdateResource首先我们需要先了解一下ICO格式,参考资料:http://www.moon-soft.com/program ...
- 动态修改css文件中,具体的class中的个别属性值。
function setStyleSheetObjCssClassProperty(pStyleSheetObj, pSelectorText, pProperty, pValue) { var pS ...
- 使用C#创建winform窗体,修改debugwen文件夹下exe应用程序的默认图标
在做一个接口程序是遇到的问题,记录一下: 在解决方案资源管理器上,右击项目名称——属性——点击图标和清单右边的的按纽——去Debug文件夹中找到自己的图标,打开.然后保存.
随机推荐
- Ext 的Ajax 请求,添加mask 等待效果
{ text: "删除", iconCls: "btn-del", scope: this, handler: function() { var f = thi ...
- Power Desginer系列00【转载】
绪论 Sybase PowerDesigner(简称PD)是最强大的数据库建模工具,市场占有率第一,功能也确实十分强大,现在最新版本是15.1,已经支持最新的SQL Server 2008等数据库,另 ...
- Mysql优化与使用集锦
MyISAM的读性能是比Innodb强 MyISAM的索引和数据是分开的,并且索引是有压缩的 Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小 MyI ...
- Echarts动画效果:实现数据左右移动
1.业务背景 图形实时从后台获取数据,让图形从最右边出现,每隔一秒向左移一位,当最左边的数据移到Y轴时,最左边的数据移出屏幕,最右边增加一个数.实现一个从右往左动画的效果 2.先看下项目中的demo解 ...
- CentOS7下命令安装火狐浏览器
使用命令安装火狐浏览器,需要切换root(su root)下,执行下面的命令,自动下载所需依赖包,完成安装 yum -y install firefox 然后重启即可
- Java经典23种设计模式之行为型模式(三)
本文接着介绍11种行为型模式里的备忘录模式.观察者模式.状态模式. 一.备忘录模式 在不破坏封装性的前提下,捕获一个对象的内部状态.并在该对象之外保存这个状态.这样以后就能够将该对象恢复到原先保存的状 ...
- C#基础视频教程6.1 如何简单读写数据库
要理解MySQL,SQLServer,ACCESS都是数据库的品牌,不同品牌的数据库在不同的领域,适用场合有所不同.ACCESS应该是最简单,至少是Windows上最容易上手的数据库,MySQL可能跟 ...
- 首都医科大学附属北京安贞医院全院级PACS系统采购项目[转]
项目名称:首都医科大学附属北京安贞医院全院级PACS系统采购项目 项目编号:TC140VCF0 采购人名称:首都医科大学附属北京安贞医院 采购人地址:北京市朝阳区安贞里 采购人联系方式:010-644 ...
- POI生成EXCEL文件(字体、样式、单元格合并、计算公式)
创建一个封装类: package com.jason.excel; import java.io.FileNotFoundException; import java.io.FileOutputStr ...
- 算法笔记_046:跳台阶问题(Java)
目录 1 问题描述 2 解决方案 2.1 递归法 2.2 迭代法 1 问题描述 一个台阶总共有n级,如果一次可以跳1级,也可以跳2级,求总共有多少种跳法. 2 解决方案 2.1 递归法 如果整个台 ...