Exemplo n.º 1
0
        /// <summary>
        /// 加载配置文件
        /// </summary>
        /// <param name="filePath">文件路径</param>
        /// <returns>返回加载消息,如成功返回空</returns>
        internal static string Load(string filePath)
        {
            cmsConfigFile = filePath;

            //从配置文件中加载
            SettingFile sf = new SettingFile(cmsConfigFile);

            Settings.loaded = true;
            bool settingChanged = false;

            //try
            // {
            Settings.License_NAME = sf.Contains("license_name") ? sf["license_name"] : "评估用户";
            Settings.License_KEY  = sf.Contains("license_key") ? sf["license_key"] : String.Empty;
            Settings.SYS_AUTOWWW  = sf.Contains("sys_autowww") ? sf["sys_autowww"] == "true" : false;                    //自动WWW

            #region 读取模板选项

            Settings.TPL_UseFullPath = sf.Contains("tpl_usefullpath") ? sf["tpl_usefullpath"] == "true" : true;
            Settings.TPL_UseCompress = sf.Contains("tpl_usecompress") ? sf["tpl_usecompress"] == "true" : false;


            #endregion

            Settings.DB_TYPE   = sf["db_type"];
            Settings.DB_CONN   = sf["db_conn"];
            Settings.DB_PREFIX = sf["db_prefix"];


            Settings.MM_AVATAR_PATH = sf["mm_avatar_path"];


            /**************** 优化项 ******************/
            Settings.Opti_Debug = WebConfig.IsDebug();

            //缓存项
            if (sf.Contains("opti_IndexCacheSeconds"))
            {
                int.TryParse(sf["opti_IndexCacheSeconds"], out Settings.Opti_IndexCacheSeconds);
            }

            if (sf.Contains("opti_ClientCacheSeconds"))
            {
                int.TryParse(sf["opti_ClientCacheSeconds"], out Settings.Opti_ClientCacheSeconds);
            }

            if (sf.Contains("Opti_GC_Collect_Interval"))
            {
                int.TryParse(sf["Opti_GC_Collect_Interval"], out Settings.Opti_GC_Collect_Interval);
            }


            /**************** 静态服务器 ******************/

            if (sf.Contains("server_static"))
            {
                Settings.SERVER_STATIC = sf["server_static"];
                if (Settings.SERVER_STATIC.Length == 0)
                {
                    Settings.SERVER_STATIC = Server._defaultStaticServer;
                }
            }
            else
            {
                sf.Add("server_static", Server._defaultStaticServer);
                Settings.SERVER_STATIC = Server._defaultStaticServer;
                settingChanged         = true;
            }

            if (sf.Contains("server_static_enabled"))
            {
                Settings.SERVER_STATIC_ENABLED = sf["server_static_enabled"] == "true";
            }
            else
            {
                sf.Add("server_static_enabled", "false");
                settingChanged = true;
            }


            if (sf.Contains("sys_admin_tag"))
            {
                Settings.SYS_ADMIN_TAG = sf["sys_admin_tag"];
            }
            else
            {
                sf.Add("sys_admin_tag", Settings.SYS_ADMIN_TAG);
                settingChanged = true;
            }

            if (settingChanged)
            {
                sf.Flush();
            }


            return(string.Empty);

            /*
             * }
             * catch (Exception ex)
             * {
             * const string strtpl = "配置文件不正确,请检查!位置:{0}。{1}";
             * string _file = filePath.Replace("/", "\\").Replace("\\\\", "\\");
             *
             * return string.Format(strtpl, _file,
             * ex.GetType() == typeof(ArgumentOutOfRangeException) ? "此错误可能因为缺少系统所需的配置而引发。" :
             * string.Empty
             * );
             * }*/
        }