Ejemplo n.º 1
0
        public static void WriteCache(this TabPageEntity page)
        {
            string path = page.GetRecordPath(true);

            System.IO.StringWriter sw = new System.IO.StringWriter();
            //创建一个序列化对像
            System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(TabPageEntity));
            //写入缓存文件
            System.IO.File.WriteAllBytes(path, Compression.Compress(System.Text.UnicodeEncoding.Unicode.GetBytes(sw.ToString())));

            page.Modifyd = false;
            page.Issync  = true;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 比较当前记录是不是与硬盘上的记录相等
        /// </summary>
        /// <param name="page">页对像实体</param>
        /// <param name="path">文件所在的路径</param>
        /// <returns></returns>
        public static bool IsTabPageEntitySync(this TabPageEntity page)
        {
            //如果文件不存在直接返回 false
            if (!System.IO.File.Exists(page.GetRecordPath(true)))
            {
                return(false);
            }
            //实始化buff
            byte[] bytearr = new byte[10];

            //锁住读写文件时使用
            lock (page)
            {
                //读取缓存文件内容
                //如果多线程操作可能会引发文件访问异常,这里需要对,访问对象进行控制
                bytearr = System.IO.File.ReadAllBytes(page.GetRecordPath(true));
            }

            //得到Zip文件解压缩后的数据
            bytearr = Compression.DeCompress(bytearr);
            //得到需要序列化的字符串
            string Text = System.Text.UnicodeEncoding.Unicode.GetString(bytearr);

            //创建一个序列化对像
            System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(TabPageEntity));

            //得到文中得到的Page 对象
            TabPageEntity diskPage = (TabPageEntity)xmlSerializer.Deserialize(new System.IO.StringReader(Text));

            if (
                diskPage.Book.Record.GUID == page.Book.Record.GUID
                &&
                diskPage.Book.Record.ID == page.Book.Record.ID
                &&
                diskPage.Book.Record.创建时间 == page.Book.Record.创建时间
                &&
                diskPage.Book.Record.分类标识 == page.Book.Record.分类标识
                &&
                diskPage.Book.Record.分类表ID == page.Book.Record.分类表ID
                &&
                diskPage.Book.Record.书名 == page.Book.Record.书名
                &&
                diskPage.Book.Record.说明 == page.Book.Record.说明
                &&
                diskPage.Book.Record.完本 == page.Book.Record.完本
                &&
                diskPage.Book.Record.周点击 == page.Book.Record.周鲜花
                &&
                diskPage.Book.Record.周鲜花 == page.Book.Record.周鲜花
                &&
                diskPage.Book.Record.总点击 == page.Book.Record.总点击
                &&
                diskPage.Book.Record.总鲜花 == page.Book.Record.总鲜花
                &&
                diskPage.Book.Record.最后更新时间 == page.Book.Record.最后更新时间
                //分类比较结束 开始内容比较
                &&
                diskPage.Record.ID == page.Record.ID
                &&
                diskPage.Record.本记录GUID == page.Record.本记录GUID
                &&
                diskPage.Record.最后访问时间 == page.Record.最后访问时间
                )
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }