快速业务通道

如何分离web.config改进版本

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-10
              catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
        #endregion
    }
 

       这段代码就是我们要实现的部分,不能复用,总觉的需要改进一下,问题分析:
       1:由于需要采用静态调用方式,为此要想通过WebConfig的静态属性调用,就需要在WebConfig类中增加自定义配置类的属性,比如我们增加一个Hotel相关的配置类,而要想WebConfig.Hotel,就需要增加一个静态属性方式实现。这里可以稍微修改下,即最后在配置自定义配置类时只编写自定义配置类,而不用去编写WebConfig类。
       2:自定义配置类中的CreateInstance,也要考虑复用。

       原则就是自定义的配置类不关心如何读取配置文件,只关心自己的配置属性即可。
      
       改善后的版本:
       1:针对WebConfig.自定义类方式。这里我修改的方法也不是最好的,用起来没有修改前的顺畅,但代码确实精简了。思路就是在WebConfig类中生成一个泛型配置类。
      

public partial class WebConfig<T> :WebConfig where T:class

       这里新增了WebConfig的泛型版本,而将WebConfig提取成基类,WebConfig类中包含一个属性,即配置文件所在文件夹路径。
 /// <summary>
        /// Config/Web 文件夹的磁盘路径
        /// </summary>
        public static string ConfigFilePathRoot
        {
            get;
            set;
        }
        WebConfig<T>主要目的是为了生成T类型的配置类,这里将原本在自定义配置类中的代码提取到WebConfig<T>中:

View Code
         /// <summary>
        /// 属性对应的私有变量
        /// </summary>
        private static T m_DataAccessConfig ;
        /// <summary>
        /// 属性访问器.通过WebConfig.SimpleFileDemoConfig可以访问此类.
        /// </summary>
        public static T DataAcces

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号