Example #1
0
        /// <summary>
        /// 保存(序列化)指定路径下的配置文件
        /// </summary>
        /// <param name="configFilePath">指定的配置文件所在的路径(包括文件名)</param>
        /// <param name="configinfo">被保存(序列化)的对象</param>
        /// <returns></returns>
        public static bool Serializer(string path, IConfiger Iconfiginfo)
        {
            bool          succeed    = false;
            FileStream    fs         = null;
            XmlSerializer serializer = null;

            try
            {
                fs         = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
                serializer = new XmlSerializer(Iconfiginfo.GetType());
                serializer.Serialize(fs, Iconfiginfo);
                //成功则将会返回true
                succeed = true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                    serializer = null;
                }
            }

            return(succeed);
        }
Example #2
0
        /// <summary>
        /// 保存序列化对象
        /// </summary>
        /// <param name="path">保存路径</param>
        /// <param name="Iconfiginfo">被保存的对象</param>
        /// <returns></returns>
        public static bool Serializer(string path, IConfiger Iconfiginfo)
        {
            bool          success    = false;
            FileStream    fs         = null;
            XmlSerializer serializer = null;

            try
            {
                string sPath = Path.GetDirectoryName(path);
                if (!Directory.Exists(sPath))
                {
                    //没有指定文件夹就生成指定文件夹
                    Directory.CreateDirectory(sPath);
                }

                fs         = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
                serializer = new XmlSerializer(Iconfiginfo.GetType());
                serializer.Serialize(fs, Iconfiginfo);
                success = true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                }
            }
            return(success);
        }
Example #3
0
 /// <summary>
 /// 加载配置文件
 /// </summary>
 /// <param name="path">文件路径</param>
 /// <param name="type">实体类型</param>
 /// <param name="isCache">是否从缓存加载</param>
 /// <returns></returns>
 internal IConfiger LoadConfig(string path, Type type, bool isCache)
 {
     if (!isCache)
     {
         return(LoadConfigFile(path, type));
     }
     lock (lockHelper)
     {
         if (ConfigFileCache.GetCache(path) == null)
         {
             ConfigFileCache.SetCache(path, LoadConfigFile(path, type));
         }
         DateTime newfileChangeTime = File.GetLastWriteTime(path);
         if (!newfileChangeTime.Equals(fileChangeTime[path]))
         {
             IConfiger temp = LoadConfigFile(path, type);
             ConfigFileCache.SetCache(path, temp);
             return(temp);
         }
         else
         {
             return(ConfigFileCache.GetCache(path) as IConfiger);
         }
     }
 }
        /// <summary>
        /// 保存(序列化)指定路径下的配置文件
        /// </summary>
        /// <param name="configFilePath">指定的配置文件所在的路径(包括文件名)</param>
        /// <param name="configinfo">被保存(序列化)的对象</param>
        /// <returns></returns>
        public static bool Serializer(string path, IConfiger Iconfiginfo)
        {
            bool succeed = false;
            FileStream fs = null;
            XmlSerializer serializer = null;
            try
            {
                fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
                serializer = new XmlSerializer(Iconfiginfo.GetType());
                serializer.Serialize(fs, Iconfiginfo);
                //成功则将会返回true
                succeed = true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                    serializer = null;
                }
            }

            return succeed;
        }
 /// <summary>
 /// 初始化文件修改时间和对象实例
 /// </summary>
 internal ConfigFilesManager(string fileName, Type type)
 {
     this.fileName = fileName;
     //得到配置文件的  改时间    
     this.configType = type;
     if (this.fileChangeTime.ContainsKey(this.fileName))
         fileChangeTime.Remove(this.fileName);
     fileChangeTime.Add(this.fileName,File.GetLastWriteTime(this.fileName));
     this.configer = ConfigSerialize.DeserializeInfo(this.fileName, this.configType);
 }
Example #6
0
 public SmartSession(ISmartWindowManager smartWindowManager)
 {
     _smartWindowManager     = smartWindowManager;
     _commandEnvironment     = new CommandEnvironment(this);
     _configer               = new Configer();
     _progressMonitorManager = new ProgressMonitorManager(smartWindowManager.MainForm as Form);
     _recentFilesManager     = new RecentFilesManager(20);
     _temporalFileManager    = new TemporalFileManager();
     AttachEvents();
     CreatePythonEngine();
     CreateMonitoringSession();
 }
Example #7
0
        /// <summary>
        /// 保存(序列化)指定路径下的配置文件
        /// </summary>
        /// <param name="configFilePath">指定的配置文件所在的路径(包括文件名)</param>
        /// <param name="configinfo">被保存(序列化)的对象</param>
        /// <returns></returns>
        public static bool Serializer(string path, IConfiger Iconfiginfo)
        {
            bool succeed = false;

            try
            {
                Utils.SerializationHelper.SerializableToJson(path, Iconfiginfo);
                succeed = true;
            }
            catch (Exception)
            {
                throw;
            }

            return(succeed);
        }
 private void InitIsMultiAoi()
 {
     try
     {
         IConfiger config     = _session.Configer;
         object    ismultiAoi = config.GetConfigItemValue("IsMultiAoi");
         if (ismultiAoi != null)
         {
             _ismultiAoi = false;
             bool.TryParse(ismultiAoi.ToString(), out _ismultiAoi);
         }
     }
     catch
     {
         _ismultiAoi = false;
     }
 }
Example #9
0
        public static DbProviderInfo GetProviderInfo(string DbContextName)
        {
            if (LocalConfig.providerInfoList == null || LocalConfig.providerInfoList.Count < 1)
            {
                LocalConfig.GetProviderFromFile();
            }
            DbProviderInfo dbProviderInfo = (
                from ww in LocalConfig.providerInfoList
                where ww.DbContextName == DbContextName
                select ww).FirstOrDefault <DbProviderInfo>();

            if (dbProviderInfo == null)
            {
                IConfiger service = ServiceTaker.GetService <IConfiger>(new object[0]);
                dbProviderInfo = service.GetFirst <DbProviderInfo>(DbContextName);
                LocalConfig.providerInfoList.Remove(dbProviderInfo);
                LocalConfig.providerInfoList.Add(dbProviderInfo);
            }
            return(dbProviderInfo);
        }
Example #10
0
 internal bool WriteConfig(string path, IConfiger iConfigInfo)
 {
     return(ConfigSerialize.Serializer(path, iConfigInfo));
 }
Example #11
0
        /// <summary>
        /// 写入配置文件
        /// </summary>
        /// <param name="configPath">路径</param>
        /// <param name="iConfiger">对象</param>
        /// <returns></returns>
        public bool WriteConfig(string configPath, IConfiger iConfiger)
        {
            string configFilePath = GetConfigPath(configPath, iConfiger.GetType().Name);

            return(ConfigFilesManager.Instance.WriteConfig(configFilePath, iConfiger));
        }
Example #12
0
 public bool WriteConfig(IConfiger iConfiger)
 {
     return(WriteConfig(null, iConfiger));
 }