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文件夹中找到自己的图标,打开.然后保存.
随机推荐
- gpu和cpu区别
GPU的功耗远远超过CPUCache, local memory: CPU > GPU Threads(线程数): GPU > CPURegisters: GPU > CPU 多寄存 ...
- 图片变换【Matrix】矩阵 简介
Matrix矩阵介绍 官方文档地址:https://developer.android.com/reference/android/graphics/Matrix.html 在Android中,对图片 ...
- hdu 1007 Quoit Design(分治法求最近点对)
大致题意:给N个点,求最近点对的距离 d :输出:r = d/2. // Time 2093 ms; Memory 1812 K #include<iostream> #include&l ...
- leetCode 42.Trapping Rain Water(凹槽的雨水) 解题思路和方法
Trapping Rain Water Given n non-negative integers representing an elevation map where the width of e ...
- nDCG学习笔记
参考:http://en.wikipedia.org/wiki/Discounted_cumulative_gain Normalized Discounted Cumulative Gain:一种对 ...
- xmpp 服务器配置 open fire for windows 及 spark 测试
xmpp 服务器配置 open fire for windows 此文章为 XMPP windows服务器配置,使用的是 open fire 3.9.1.exe 1: 下载 open fire ope ...
- Java浮点运算-BigDecimal
package com.hsun.test; import static java.lang.System.out; import java.math.BigDecimal; public class ...
- keepalived 使用注意事项
1.启动用service keepalived start/stop 比直接 /sbin/keepalived start/stop要好,貌似解决了master停止了keepalived服务而back ...
- profiler跟踪事件存为表之后性能分析工具
使用profiler建立跟踪,将跟踪结果存到表中,使用下面存储过程执行 exec temp_profiler 'tra_tablename'对表数据进行处理归类,然后进行性能分析 1.先建存储过程 2 ...
- Java之开发工具(1) - Eclipse 如何设置注释的模板
最常用的注释就是对类的说明和方法的说明,关于这类代码的注释方式,在Eclipse中可以这样进行设置: windows---preferences...---java--code style--code ...