/// <summary>
        /// 创建一个新的配置
        /// </summary>
        /// <param name="pPath"></param>
        /// <returns></returns>
        private static KRNetworkingConfig CreateNew(string pPath = null)
        {
            string path = GetPath(pPath);
            //KLog.Logger.Error(string.Format("---创建新的KRNetworkingConfig文件,日期:{0}!!!", DateTime.Now.ToString()));
            var config = new KRNetworkingConfig(true);

            config.Save(path);
            return(config);
        }
        /// <summary>
        /// 加载设置 当p_path 为空是 加载默认路径
        /// </summary>
        /// <param name="pPath">路径</param>
        /// <returns></returns>
        public static KRNetworkingConfig Load(string pPath = null)
        {
            bool   succeed = false;
            string path    = GetPath(pPath);

            KRNetworkingConfig config = null;

            FileStream fs = null;

            string version = _version;

            try
            {
                if (!File.Exists(path))
                {
                    Config = config = CreateNew(path);
                    BackupConfig();

                    return(config);
                }

                fs = new FileStream(path, FileMode.Open, FileAccess.Read);

                var xs = new XmlSerializer(typeof(KRNetworkingConfig));
                //fs.Seek(0, SeekOrigin.Begin);
                Config = config = (KRNetworkingConfig)xs.Deserialize(fs);

                fs.Seek(0, SeekOrigin.Begin);
                XElement root = XElement.Load(fs);

                fs.Close();

                XAttribute verAttr = root.Attribute("Version");

                if (verAttr == null || verAttr.Value != version)
                {
                    //fs.Close();
                    config.Version = version;
                    fs.Close();
                    config.Save(); //CreateNew(path);
                    //_systemConfig = config;
                    //return config;
                }

                succeed = true;
            }
            catch (IOException ex)
            {
                ClientHelper.TraceException("KRNetworkingConfig.Load", "KRNetworkingConfig文件读写异常!", ex.Message);
                //KLog.Logger.Error("KRNetworkingConfig文件读写异常!", ex);
            }
            catch (Exception ex)
            {
                ClientHelper.TraceException("KRNetworkingConfig.Load", "设置反序列化异常!", ex.Message);
                //KLog.Logger.Error("设置反序列化异常!", ex);
                //throw new Exception("设置反序列化异常!");
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                }
            }
            if (!succeed)
            {
                RestoreBakConfig(path);
                config = Load();
            }
            else
            {
                BackupConfig();
            }

            return(config);
        }