CS客户端 App.Config更新问题
appconfig更新必须要重启才可以 这个方法为热更新不用重新启动
public void ModifyConfig(string serverName, string dbName, string userName, string password, params string[] ConfigFileNameList)
{
for (int i = 0; i < ConfigFileNameList.Length; i++)
{
string ConfigFilePath = Path.Combine(SetUpPath, ConfigFileNameList[i]);
System.IO.FileInfo FileInfo = new System.IO.FileInfo(ConfigFilePath);
if (!FileInfo.Exists) //不存在web.config文件
{
throw new Exception("没有找到文统配置文件!");
}
try
{
bool isModified = false; //记录该连接串是否已经存在
//如果要更改的连接串已经存在
if (ConfigurationManager.ConnectionStrings["ConnStr"]!= null)
{
isModified = true;
}
//新建一个连接字符串实例
ConnectionStringSettings mySettings =
new ConnectionStringSettings("ConnStr",GetConnectionString(serverName, dbName, userName, password), "System.Data.SqlClient");
// 打开可执行的配置文件*.exe.config
Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// 如果连接串已存在,首先删除它
if (isModified)
{
config.ConnectionStrings.ConnectionStrings.Remove("ConnStr");
}
// 将新的连接串添加到配置文件中.
config.ConnectionStrings.ConnectionStrings.Add(mySettings);
// 保存对配置文件所作的更改
config.Save(ConfigurationSaveMode.Modified);
// 强制重新载入配置文件的ConnectionStrings配置节
ConfigurationManager.RefreshSection("connectionStrings"); //string ConfigContent = System.IO.File.ReadAllText(FileInfo.FullName);
//ConfigContent = ConfigContent.Replace("{ConnStr}", GetConnectionString(serverName, dbName, userName, password));
//string dateCode = DesEncryption.Encrypt(DateTime.Now.AddMonths(1).ToShortDateString());
//ConfigContent = ConfigContent.Replace("{RegisterCode}", dateCode);
//System.IO.File.WriteAllText(FileInfo.FullName, ConfigContent); }
catch(Exception ex)
{
throw new Exception("修改web.config配置文件失败!");
}
}
}
CS客户端 App.Config更新问题的更多相关文章
- ASP.NET MVC Filters 4种默认过滤器的使用【附示例】 数据库常见死锁原因及处理 .NET源码中的链表 多线程下C#如何保证线程安全? .net实现支付宝在线支付 彻头彻尾理解单例模式与多线程 App.Config详解及读写操作 判断客户端是iOS还是Android,判断是不是在微信浏览器打开
ASP.NET MVC Filters 4种默认过滤器的使用[附示例] 过滤器(Filters)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,不是每个请求都会响 ...
- C# app.config文件配置和修改
很多时候我们需要对系统的.config文件进度读写操作,例如:系统初始化的参数的更改.系统参数的改变都需要更新到配置文件. 首先我们有必要了解一下app.config.exe.config和vshos ...
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
- 适用于app.config与web.config的ConfigUtil读写工具类 基于MongoDb官方C#驱动封装MongoDbCsharpHelper类(CRUD类) 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD) C# 实现AOP 的几种常见方式
适用于app.config与web.config的ConfigUtil读写工具类 之前文章:<两种读写配置文件的方案(app.config与web.config通用)>,现在重新整理一 ...
- 在部署 C#项目时转换 App.config 配置文件
问题 部署项目时,常常需要根据不同的环境使用不同的配置文件.例如,在部署网站时可能希望禁用调试选项,并更改连接字符串以使其指向不同的数据库.在创建 Web 项目时,Visual Studio 自动生成 ...
- C#开发BIMFACE系列52 CS客户端集成BIMFACE应用的技术方案
BIMFACE二次开发系列目录 [已更新最新开发文章,点击查看详细] 在我的博客<C#开发BIMFACE系列49 Web网页集成BIMFACE应用的技术方案>.<C#开发BI ...
- Visual Studio 2013 Unit Test Project App.config文件设置方法
开放中经常会要做单元测试,新的项目又没有单元测试项目,怎么才能搭建一个单元测试项目呢? 下面跟我四步走,如有错误之处,还请指正! 1.添加项目 2.添加配置文件 新建app.config文件,注意不是 ...
- App.Config详解及读写操作
App.Config详解及读写操作 App.Config详解 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而 ...
- 两种读写配置文件的方案(app.config与web.config通用)
第一种方法:采用MS现有的ConfigurationManager来进行读写 using System.Configuration; namespace Zwj.TEMS.Common { publi ...
- windows服务 2.实时刷新App.config
参考 http://www.cnblogs.com/jeffwongishandsome/archive/2011/04/24/2026381.html http://www.cnblogs.com/ ...
随机推荐
- Exception in thread &quot;main&quot; java.lang.ArrayIndexOutOfBoundsException: 1
场景:eclipse中编写java中用到数组 问题: 程序不报错但是运行过程中 终止,显示字样 " Exception in thread "main" java.lan ...
- OpenMP Parallel Construct 实现原理与源码分析
OpenMP Parallel Construct 实现原理与源码分析 前言 在本篇文章当中我们将主要分析 OpenMP 当中的 parallel construct 具体时如何实现的,以及这个 co ...
- Unity - 创建C#脚本默认编码格式为UTF8
嗨咯大家好,哈哈哈哈哈哈哈哈哈哈,今儿小黑加班,目的只有一个,解决Unity创建的脚本通过VS打开后编码格式不正确,导致从Unity的Inspector面板与Mac上边的VS看到的中文为乱码,很气,找 ...
- 最容易懂的策略模式消除if-else分支,实现开闭原则,提高可扩展性
1 介绍 策略模式最常用的场景就是用于消除代码中的if-else,这里所说的if-else并不是说任何简单的判断都引入策略模式来优化,这样反而会增加代码的复杂度. 反例:使用策略模式对一个boolea ...
- MyBatis的使用七(处理表与表之间的关系)
本文主要讲述mybatis的处理表与表之间的关系 一. 介绍t_emp和t_dept表 1. t_emp表结构 2. t_dept表结构 二. 数据表的关系 1. 阐明关系 一个部门可以有多个员工,但 ...
- 【多线程】交替输出abc
package com.xf; public class WaitNotify { // 等待标记 private int flag; // 循环次数 private final int loopNu ...
- spring cloud12-spring cloud sleuth
1.为什么需要Spring Cloud Sleuth 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元.由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很 ...
- 主题样式选择效果代码及css样式
先上效果图: 主要页面代码及样式: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> ...
- 学习Java Day4
今天重点学习了读取输入,然后在eclipse上试了很多次,存在一些还没能解决的问题,发现eclipse的使用十分不熟练, 明天重点学习一下如何使用eclipse.
- jquery(一:认识jquery、选择器)
jQuery 优点: 1.提供了强大的功能函数 2.解决了浏览器的兼容问题 3.实现了丰富的UI和插件 4.纠正错误的脚本知识 例子 1.传统: <!DOCTYPE html> <h ...