博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
更改windows service的配置信息后,无须重启服务
阅读量:4356 次
发布时间:2019-06-07

本文共 839 字,大约阅读时间需要 2 分钟。

通过ConfigurationManager.RefreshSection刷新某一配置节点,我们获取配置值的时候就不需要重启服务,例如:

ConfigurationManager.RefreshSection("appSettings");// 刷新命名节,在下次检索它时将从磁盘重新读取它。 在这个网站上面的提供的方案。

为什么加了那一行ConfigurationManager.RefreshSection(命名节点);就可以了呢?

查看MSDN,解释是这样的:“刷新命名节,这样在下次检索它时将从磁盘重新读取”。下面是VS里的函数说明:

//        // 摘要:        //     刷新命名节,这样在下次检索它时将从磁盘重新读取它。        //        // 参数:        //   sectionName:        //     要刷新的节的配置节名称或配置路径和节名称。        public static void RefreshSection(string sectionName);

原来,更改配置文件之后,应用程序读取配置的顺序不是从物理文件读取,而是从其缓存中读取(ConfigurationManager.RefreshSection方法在不影响其他节的前提下使指定配置节的缓存失效),必须强制刷新配置文件,才能读取到更改后的配置节信息 。

毫无疑问,和正常的读取配置文件节点方法相比,这个读取配置的方法在性能上应该有点影响,至于损失多少,会不会造成性能瓶颈,你懂的。

最后,从MSDN的例子我们也可以看出来,这个方法对于动态写入/读取配置文件非常有效。不过对于web应用程序这个方法可能不适合,因为大家知道,修改web.config相当于重启了web应用程序。

转载于:https://www.cnblogs.com/visionwang/archive/2012/09/21/2696478.html

你可能感兴趣的文章
Git分布式版本管理工具基本使用方法
查看>>
最大子序列和 HDOJ 1003 Max Sum
查看>>
面向对象分析(Object-Oriented Analysis)
查看>>
自适应,响应式,viewport总结
查看>>
BFC对于布局的帮助
查看>>
MatlabR2015b用了一段时间之后需要重新激活
查看>>
降维打击 Dimensionality reduction attack
查看>>
PhantomJS 在linux上使用
查看>>
SQL Server - select语句练习
查看>>
第八章 指针实验
查看>>
iOS 断当前时间是否在一天的某个时间段内。
查看>>
Jebref 的使用方法
查看>>
关于时间戳转成时间格式的相关问题
查看>>
洛谷 P1582 倒水 解题报告
查看>>
GnuPG高级指导(4)加密分发我的私钥
查看>>
PHP 模板引擎Smarty的基本语法
查看>>
transform
查看>>
[杂]右键拷贝文件路径
查看>>
Coursera机器学习——Recommender System测验
查看>>
继承与组合
查看>>