Ejemplo n.º 1
0
 /// <summary>
 /// 获取指定配置单元的配置信息
 /// </summary>
 /// <param name="ConfigInfo"></param>
 /// <returns></returns>
 protected object this[IConfigurationUnitInfo ConfigInfo]
 {
     get
     {
         if (ConfigInfo.InitFlag)
         {
             return(ConfigInfo.Value);
         }
         GetConfigUnit(ConfigInfo);
         return(ConfigInfo.Value);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取指定配置单元
        /// </summary>
        /// <param name="configuration">配置对象</param>
        /// <param name="unitInfo">配置单元信息</param>
        /// <returns>相关的配置信息</returns>
        protected object GetConfigUnit(Configuration configuration, IConfigurationUnitInfo unitInfo)
        {
            if (unitInfo.UnitType.IsSubclassOf(typeof(ConfigurationSectionGroup)))
            {
                return(ConfigurationHelper.GetConfigurationSectionGroup(configuration.RootSectionGroup, unitInfo.ConfigName, unitInfo.UnitType, unitInfo.AutoInitWhenNonExist, true));
            }
            else if (unitInfo.UnitType.IsSubclassOf(typeof(ConfigurationSection)))
            {
                return(ConfigurationHelper.GetConfigurationSection(configuration.RootSectionGroup, unitInfo.ConfigName, unitInfo.UnitType, unitInfo.AutoInitWhenNonExist, true));
            }
            else
            {
                throw new Exception("Unknown Configuration Unit");
            }

            return(null);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取指定的配置单元
        /// </summary>
        /// <param name="ConfigInfo">配置单元信息</param>
        protected void GetConfigUnit(IConfigurationUnitInfo unitInfo)
        {
            string path = GetConfigUnitFilePath(this.ClientInfo, unitInfo);

            if (object.ReferenceEquals(null, path) || path.Equals(string.Empty))
            {
                return;
            }

            Configuration configuration = ConfigurationObjectManager.GetConfiguration(path, true);

            if (object.ReferenceEquals(null, configuration))
            {
                return;
            }

            unitInfo.Value = GetConfigUnit(configuration, unitInfo);

            unitInfo.InitFlag = true;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取指定配置单元的文件路径
        /// </summary>
        /// <param name="client">客户信息</param>
        /// <param name="unitInfo">配置单元信息</param>
        /// <returns>路径</returns>
        protected string GetConfigUnitFilePath(IClientInfo client, IConfigurationUnitInfo unitInfo)
        {
            string path = null;

            switch (unitInfo.Domain)
            {
            case EnumConfigDomain.Application:
                path = client.SystemConfigurationDirectory;
                break;

            case EnumConfigDomain.User:
                path = client.UserConfigurationDirectory;
                break;

            default:
                throw new Exception("未知的配置文件域");
                break;
            }

            return(System.IO.Path.Combine(path, unitInfo.FileName));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// ��ȡָ�����õ�Ԫ���ļ�·��
        /// </summary>
        /// <param name="client">�ͻ���Ϣ</param>
        /// <param name="unitInfo">���õ�Ԫ��Ϣ</param>
        /// <returns>·��</returns>
        protected string GetConfigUnitFilePath(IClientInfo client, IConfigurationUnitInfo unitInfo)
        {
            string path = null;

            switch (unitInfo.Domain)
            {
                case EnumConfigDomain.Application:
                    path = client.SystemConfigurationDirectory;
                    break;

                case EnumConfigDomain.User:
                    path = client.UserConfigurationDirectory;
                    break;

                default:
                    throw new Exception("δ֪�������ļ���");
                    break;
            }

            return System.IO.Path.Combine(path, unitInfo.FileName);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// ��ȡָ�����õ�Ԫ
        /// </summary>
        /// <param name="configuration">���ö���</param>
        /// <param name="unitInfo">���õ�Ԫ��Ϣ</param>
        /// <returns>��ص�������Ϣ</returns>
        protected object GetConfigUnit(Configuration configuration, IConfigurationUnitInfo unitInfo)
        {
            if(unitInfo.UnitType.IsSubclassOf(typeof(ConfigurationSectionGroup)))
            {
                return ConfigurationHelper.GetConfigurationSectionGroup(configuration.RootSectionGroup, unitInfo.ConfigName, unitInfo.UnitType, unitInfo.AutoInitWhenNonExist, true);
            }
            else if (unitInfo.UnitType.IsSubclassOf(typeof(ConfigurationSection)))
            {
                return ConfigurationHelper.GetConfigurationSection(configuration.RootSectionGroup, unitInfo.ConfigName, unitInfo.UnitType, unitInfo.AutoInitWhenNonExist, true);
            }
            else
            {
                throw new Exception("Unknown Configuration Unit");
            }

            return null;
        }
Ejemplo n.º 7
0
        /// <summary>
        /// ��ȡָ�������õ�Ԫ
        /// </summary>
        /// <param name="ConfigInfo">���õ�Ԫ��Ϣ</param>
        protected void GetConfigUnit(IConfigurationUnitInfo unitInfo)
        {
            string path = GetConfigUnitFilePath(this.ClientInfo, unitInfo);

            if (object.ReferenceEquals(null, path) || path.Equals(string.Empty)) return;

            Configuration configuration = ConfigurationObjectManager.GetConfiguration(path, true);
            if (object.ReferenceEquals(null, configuration)) return;

            unitInfo.Value = GetConfigUnit(configuration, unitInfo);

            unitInfo.InitFlag = true;
        }
Ejemplo n.º 8
0
 /// <summary>
 /// ��ȡָ�����õ�Ԫ��������Ϣ
 /// </summary>
 /// <param name="ConfigInfo"></param>
 /// <returns></returns>
 protected object this[IConfigurationUnitInfo ConfigInfo]
 {
     get
     {
         if (ConfigInfo.InitFlag) return ConfigInfo.Value;
         GetConfigUnit(ConfigInfo);
         return ConfigInfo.Value;
     }
 }