快速业务通道

如何分离web.config改进版本

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-10

三年前我分享了如何分离web.config中的配置节,因为有些项目过大,造成N多配置节存在于web.config中,缺点如下:
      1:不容易管理,当你想查找一个配置节时,望着整页的code,不知所措,为此你只有ctrl+f来解决。
      2:部署时也及容易出错,部署人员需要按照你写的部署文档,一个一个加,即费时又容易出错,比如一不小心将其它节点给覆盖了诸如此类。
      3:在web.config中的配置节的修改会引起站点重启。
      4:访问配置节不够简单,容易出错。

      文章之前我提到过我们为了解决此种问题的解决方案,就是将配置节从web.config文件中分离出来,将配置节存入单独的文件中。具体的方案请参考前面的文章(如何分割web.config ),有很长一段时间没有使用了,最近在使用上发现在多项目中复用有一定问题,即每个项目都需要编写一段不短的代码,下面就是我对于它的优化过程,先看下原来的工作量:

      第一:Webconfig,这是框架里面的内容,这也是唯一得以复用的地方。它是一个入口,所有的配置文件引用都通过它,比如访问酒店的配置类,WebConfig.Hotel.HotelName。代码如下:    

View Code
public partial  class WebConfig
    {
        /// <summary>
        /// 启动配置类
        /// </summary>
       public static void OnStart(string configFilePath, FileUpdate fileUpdate)
        {
            #region  实现配置文件独立
            //第一次启动需要执行委托方法更新配置类
            fileUpdate(configFilePath);
            //启动文件监视
            Log4netFileWatchHelper.StartWatching(fileUpdate, configFilePath);
            #endregion
        }
        /// <summary>
        /// Config/Web 文件夹的磁盘路径
        /// </summary>
       public static string ConfigFilePathRoot
       {
           get;
           set;
       }      
    }

       1:包含一个重要方法OnStart,可以对配置文件进行初始化,其实这个初始化也可以省略掉,因为完全可以将初始化配置类变成延迟加载模式。
       2:一个配置文件路径的属性,它标识了此项目类所有配置文件的存放目录,可以在程序初始化时指定此属性。

  &nb

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号