快速业务通道

Discuz!NT之配置文件类[discuz.config]

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

如果大家从官方下载2.0正式版的DLL程序集中会从里面找到discuz.config这个DLL文件。通过
reflector 反射加载这个程序集后,后从中找到一些从类名称上非常相似且有一定规律(格式)的类。
它们是:

    全局配置类
    GeneralConfigFileManager.cs
    GeneralConfigInfo.cs
    GeneralConfigs.cs

    Emial配置类
    EmailConfigFileManager.cs
    EmailConfigInfo.cs
    EmailConfigs.cs

    基本配置类
    BaseConfigFileManager.cs
    BaseConfigInfo.cs
    BaseConfigInfoCollection.cs
    BaseConfigs.cs

    相册配置类
    AlbumConfigFileManager.cs
    AlbumConfigInfo.cs
    AlbumConfigs.cs

    聚合配置类
    AggregationConfig.cs
    AggregationConfigFileManager.cs
    AggregationConfigInfo.cs

    空间开通配置类
    SpaceActiveConfigs.cs
    SpaceActiveConfigFileManager.cs
    SpaceActiveConfigInfo.cs.cs

    可以看到,这些类基本上是以三个一组,共六组。而这六组类中的...FileManager.cs与Defau-
ltConfigFileManager.cs的关系如下图所示:


从类图上看,DefaultConfigFileManager.cs是基类,而GeneralConfigFileManager.cs,Emai-
lConfigFileManager.cs,BaseConfigFileManager.cs,AlbumConfigFileManager.cs,Aggregatio-
nConfigFileManager.cs, SpaceActiveConfigFileManager.cs分别派生自DefaultConfigFileManager。
而DefaultConfigFileManager本身也定义了几个属性和方法以便于子类调用或重写(如SaveConfig)。
而DefaultConfigFileManager的定义如下: 1 /**//// <summary>
  2    /// 文件配置管理基类
  3    /// </summary>
  4    public class DefaultConfigFileManager
  5    {
  6        /**//// <summary>
  7        /// 文件所在路径变量
  8        /// </summary>
  9        private static string m_configfilepath;
 10
 11        /**//// <summary>
 12        /// 临时配置对象变量
 13        /// </summary>
 14        private static IConfigInfo m_configinfo = null;
 15
 16        /**//// <summary>
 17        /// 锁对象
 18        /// </summary>
 19        private static object m_lockHelper = new object();
 20       
 21
 22        /**////

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