|
.Net Web应用程序提供了很强大的 Web.Config功能,我们很多的系统可能已经习惯在Web.Config中进行配置,可是使用Web.Config进行一些配置,会有一些不太顺畅的特性,比如:修改Web.Config 后,Web应用程序会出现错误页面并且需要重新登录,Web.Config配置过程不是很方便,即使通过安装包进行Web.Config的设置,.Net 安装向导能提供的入口也是有限的。。。。。 通过Cache机制实现一个通用的配置管理模块 设计目标: 1、 高速读取配置信息 2、 统一的配置维护管理方便进行配置 3、 新的配置模块及维护不需要再进行二次开发 大致设计思路 1、 通过Cache机制对配置文件的内容进行缓存,缓存的失效依赖于配置文件 2、 在开发基础组件库中实现一个 CacheHelper 类统一读取配置信息 3、 根据配置文件自动生成配置维护界面,实现统一的配置维护 代码参考: CacheHelper.cs 统一读取配置信息的一个类, 打开配置文件,读取相关的配置信息到HashTable ,并保存到 Cache中,Cache中存在则直接取Cache中的内容,否则重新读取文件,这样做到高速读取。 using System; namespace Epower.DevBase.BaseTools /// if (CommonConfig.ContainsKey(ParameterName)) /// Hashtable CommonConfig = new Hashtable(); if (cache[CacheName] == null) #region 取应用程序根物理路径 if (ConfigPath == null) throw new Exception("系统异常,取不到应用程序所在根物理路径!"); string ConfigFile = ConfigPath + "Config\\" + ConfigName + ".xml"; XmlDocument xmlDoc = new XmlDocument(); XmlNode oNode = xmlDoc.DocumentElement; if (oNode.HasChildNodes) for (int i = 0; i < oList.Count; i++) cache.Insert(CacheName, CommonConfig, new CacheDependency(ConfigFile)); return CommonConfig; |