Enterprise Library通过程序修改数据库链接的问题
2007-06-14 07:44
218 查看
最近在做一个项目,用到了Enterprise Library,其中用户登陆以后,修改数据库链接,代码如下:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConfigurationSection section = config.ConnectionStrings;
config.ConnectionStrings.ConnectionStrings[0].ConnectionString = connectionString;
config.Save(ConfigurationSaveMode.Full);
其中connectionString是新的链接字符串,保存修改后,再次链接数据库,却发现并没有改变。为了测试问题出在甚么地方,我添加了一个检测congfig文件修改的事件,代码如下:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConfigurationSection section = config.ConnectionStrings;
fileWatcher = new ConfigurationChangeFileWatcher(config.FilePath, section.SectionInformation.Name);
fileWatcher.ConfigurationChanged += new ConfigurationChangedEventHandler(fileWatcher_ConfigurationChanged);
fileWatcher.StartWatching();
void fileWatcher_ConfigurationChanged(object sender, ConfigurationChangedEventArgs e)
{
richTextBox.AppendText(Environment.NewLine + "数据库连接地址已改变!");
}
实际测试中发现,点击保存后,可能过了5,6秒的样子,congfig文件才发生改变,我想这可能是缓存的问题,但是怎么让她立即更新呢,请大家多多帮忙。
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConfigurationSection section = config.ConnectionStrings;
config.ConnectionStrings.ConnectionStrings[0].ConnectionString = connectionString;
config.Save(ConfigurationSaveMode.Full);
其中connectionString是新的链接字符串,保存修改后,再次链接数据库,却发现并没有改变。为了测试问题出在甚么地方,我添加了一个检测congfig文件修改的事件,代码如下:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConfigurationSection section = config.ConnectionStrings;
fileWatcher = new ConfigurationChangeFileWatcher(config.FilePath, section.SectionInformation.Name);
fileWatcher.ConfigurationChanged += new ConfigurationChangedEventHandler(fileWatcher_ConfigurationChanged);
fileWatcher.StartWatching();
void fileWatcher_ConfigurationChanged(object sender, ConfigurationChangedEventArgs e)
{
richTextBox.AppendText(Environment.NewLine + "数据库连接地址已改变!");
}
实际测试中发现,点击保存后,可能过了5,6秒的样子,congfig文件才发生改变,我想这可能是缓存的问题,但是怎么让她立即更新呢,请大家多多帮忙。
相关文章推荐
- 链接数据库联合表修改数据慢的问题
- 分享一个链接,MS官方的解释:关于网络上流传的通过修改组策略“解除XP/WIN7系统默认限制20%的网速”来提高网速的问题。希望大家不要被误导。
- 今天通过修改Oracle 数据库解决的一个ERP不能打出验收单问题.
- BIEE 通过配置文件 修改JDBC 数据库链接
- 重置mysql Root用户密码及修改默认字符集一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。 解决
- 通过修改程序解决Vista/Win7/Win8下应用程序兼容性问题
- web程序通过dbcp连接池处理自动重新连接数据库问题(通过连接池dbcp处理方案)
- 程序笔试题-const变量通过指针修改问题
- 程序笔试题-const变量通过指针修改问题
- Java通过ODBC链接数据库并遍历结果的一个问题
- web程序本地通过ip地址链接不到数据库oracle11g,异常错误 The Network Adapter could not establish the connection
- 通过修改程序解决Vista/Win7/Win8下应用程序兼容性问题
- 分享:程序笔试题-const变量通过指针修改问题
- C#中DataGridView绑定了DataTable后,通过代码修改DataGridView中的数据,总有一行(被修改过并被用户选中的行集合中索引为0的行)不能被UpDate回数据库的问题和解决办法
- c# 通过 p/invoke 使用 c的加密程序 参数传递问题
- 关于wordpress在修改固定链接后,总显示Not Found的问题
- 用java程序向数据库插入数据遇到的几个问题
- 通过JMS监听Oracle AQ,在数据库变化时触发执行Java程序
- 发布的QT程序无法连接数据库的问题
- 修改structs动态生成的table中inputs值并提交数据库的问题