如何让你的系统配置文件更合理
2012-04-19 17:58
423 查看
将系统中全局的,容易发生变化的数据,但调用频繁的常量信息存储在文件中是个不错的选择,原因有以下几点:
1由于操作频繁,放在文件里可以减低数据库的负载
2由于信息是全局的,所以放在文件中,对于所有层都可以开放
3由于它容易发生变化,所以写死在代码中,不是一个聪明的作法,放在文件中可以不用编译,就可以使信息同步到程序上
4操作频繁,放在文件中,这事实上对于服务器的CPU来说不是一件好事,所以,在这里将会对它进行缓存,本例没有使用cache
实现:一个VConfig层,进行公用配置信息管理和配置功能代码管理
Entity目录下是所有公用信息的实体,webconst.cs文件表示系统公用信息实体
ConfigFilesManager类型,是对配置文件进行读写操作的类
ConfigSerialize类型,提供了对文件序列化和反序列化操作的类
IConfiger接口,它是所有配置实体的基接口
WebConstConfig类型,对webconst实体进行了读写操作的类,这本类中,提供了从文件中使用了Elapsed事件,来实现每隔一段时间去文件中读取最新数据
这是它的核心代码:
1由于操作频繁,放在文件里可以减低数据库的负载
2由于信息是全局的,所以放在文件中,对于所有层都可以开放
3由于它容易发生变化,所以写死在代码中,不是一个聪明的作法,放在文件中可以不用编译,就可以使信息同步到程序上
4操作频繁,放在文件中,这事实上对于服务器的CPU来说不是一件好事,所以,在这里将会对它进行缓存,本例没有使用cache
实现:一个VConfig层,进行公用配置信息管理和配置功能代码管理
Entity目录下是所有公用信息的实体,webconst.cs文件表示系统公用信息实体
ConfigFilesManager类型,是对配置文件进行读写操作的类
ConfigSerialize类型,提供了对文件序列化和反序列化操作的类
IConfiger接口,它是所有配置实体的基接口
WebConstConfig类型,对webconst实体进行了读写操作的类,这本类中,提供了从文件中使用了Elapsed事件,来实现每隔一段时间去文件中读取最新数据
这是它的核心代码:
///<summary> ///静态构造函数初始化
///</summary> staticWebConstConfig() { cfm=newConfigFilesManager(ConfigFilePath,typeof(WebConst)); baseConfig=(WebConst)cfm.LoadConfig(); baseConfigTimer.AutoReset=true; baseConfigTimer.Enabled=true; baseConfigTimer.Elapsed+=newElapsedEventHandler(Timer_Elapsed); baseConfigTimer.Start(); } #endregion #region重设配置类实例
///<summary> ///重设配置类实例
///</summary> publicstaticvoidResetConfig() { baseConfig=(WebConst)cfm.LoadRealConfig(); } privatestaticvoidTimer_Elapsed(objectsender,System.Timers.ElapsedEventArgse) { ResetConfig(); } 对于VConfig这个项目,我会在以后的开发中进一步的完善,因为,在开发一个新项目时,我不希望去修改我的vconfig项目,只从vconfig项目中去派生就可以了,在自己的新项目中去重写和扩展自己的业务逻辑。
感谢大家!
相关文章推荐
- 如何制作一个通用的多系统安装U盘五(制作主配置文件)
- 假设一个网站系统存在两个配置文件web.config和config.config,那么我如何读取config.config的配置节呢?System.Configuration名字空间下的接口好象只能读
- 如何配置一个软件系统的总体样式(用qss文件)
- win7 64位下如何安装配置mysql + 系统找不到指定的文件问题
- 解决方法:对性能监视器计数器注册表值执行系统配置检查失败。有关详细信息,请参阅自述文件或 SQL Server 联机丛书中的“如何在 SQL Server 2005 中为安装程序增加计数器注册表项值”
- android系统里的配置文件如何生效
- linux如何配置文件系统分区
- 如何更改grub.conf配置文件来引导另一个系统
- 请问在C/S系统中如何设置配置文件
- 系统安全防护知识:如何配置Linux的日志文件
- 关于如何找到vmx文件(虚拟系统配置文件)的方法
- 论Docker容器中的Nginx配置文件如何读取系统/容器的环境变量
- WinPE系统设定如何修改(可通过修改PE注册表或配置文件来实现)
- 如何在加入域后保持原有的系统配置文件不变-即漫游配置文件
- 关于如何找到vmx文件(虚拟系统配置文件)的方法
- 系统中怎么这么多配置文件,如何理解这些配置文件
- .NET Core采用的全新配置系统[8]: 如何实现配置与源文件的同步
- WEB系统启动时加载Log4j的配置文件(自己写Listener形式)
- 如何配置pch文件
- 如何生成和修改jupyter qtconsole的配置文件