public List<FileEntity> GetIgnoreFileList()
 {
     List<FileEntity> felist = new List<FileEntity>();
     StringBuilder returnstr = new StringBuilder();
     string configpath = Server.MapPath("~/") + "AutoUpdateConfig.xml";
     XmlNodeList ifilelist = XMLHelper.GetXmlNodeListByXpath(configpath, "//Root//IgnoreFileList//IgnoreFile");
     foreach (XmlNode item in ifilelist)
     {
         FileEntity feEntity = new FileEntity();
         feEntity.FilePath = item.Attributes["Path"].Value;
         feEntity.FileName = item.Attributes["FileName"].Value;
         felist.Add(feEntity);
     }
     return felist;
 }
        /// <summary>
        /// 填充文件比较信息
        /// </summary>
        /// <param name="operation">操作类型</param>
        /// <param name="serverfile">服务器文件</param>
        /// <param name="localfile">客户端文件</param>
        /// <returns>文件比较信息</returns>
        private static CompareFileEntity FillCompareFileEntity(int operation, FileEntity serverfile, FileEntity localfile)
        {
            CompareFileEntity cfEntity = new CompareFileEntity();
            cfEntity.FileOpreation = operation;//标示修改

            if (serverfile != null)
            {
                cfEntity.FileName = serverfile.FileName;
                cfEntity.FilePath = serverfile.FilePath;
                cfEntity.ServerCreateTime = serverfile.CreateTime;
                cfEntity.ServerUpdateTime = serverfile.UpdateTime;
                cfEntity.ServerHashCode = serverfile.HashCode;
                cfEntity.ServerFileVersion = serverfile.FileVersion;
                cfEntity.ServerFileSize = serverfile.FileSize;
            }
            if (localfile != null)
            {
                cfEntity.FileName = localfile.FileName;
                cfEntity.FilePath = localfile.FilePath;
                cfEntity.LocalCreateTime = localfile.CreateTime;
                cfEntity.LocalUpdateTime = localfile.UpdateTime;
                cfEntity.LocalHashCode = localfile.HashCode;
                cfEntity.LocalFileVersion = localfile.FileVersion;
                cfEntity.LocalFileSize = localfile.FileSize;
            }
            return cfEntity;
        }
        /// <summary>
        /// 获取目录下的所有文件
        /// </summary>
        /// <param name="dic">DirectoryInfo目录信息</param>
        /// <param name="felist">文件列表</param>
        /// <param name="path">路径初始为"/"</param>
        public static void GetChildFile(DirectoryInfo dic, List<FileEntity> felist, string path)
        {
            //遍历所有文件
            FileInfo[] filist = dic.GetFiles();
            foreach (var item in filist)
            {
                FileEntity newEntity = new FileEntity();
                FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(item.FullName);
                newEntity.FileVersion = fvi.FileVersion == null ? "0.0.0.0" : fvi.FileVersion;
                newEntity.FilePath = path;
                newEntity.FileName = item.Name;
                newEntity.FileSize = item.Length;
                newEntity.CreateTime = item.CreationTime;
                newEntity.HashCode = item.GetHashCode();
                newEntity.UpdateTime = item.LastWriteTime;
                felist.Add(newEntity);
            }

            //遍历所有目录并递归查询
            DirectoryInfo[] dilist = dic.GetDirectories();
            foreach (var item in dilist)
            {
                GetChildFile(item, felist, path + item.Name + "/");
            }
        }
Example #4
0
        /// <summary>
        /// 填充文件比较信息
        /// </summary>
        /// <param name="operation">操作类型</param>
        /// <param name="serverfile">服务器文件</param>
        /// <param name="localfile">客户端文件</param>
        /// <returns>文件比较信息</returns>
        private static CompareFileEntity FillCompareFileEntity(int operation, FileEntity serverfile, FileEntity localfile)
        {
            CompareFileEntity cfEntity = new CompareFileEntity();

            cfEntity.FileOpreation = operation;//标示修改

            if (serverfile != null)
            {
                cfEntity.FileName          = serverfile.FileName;
                cfEntity.FilePath          = serverfile.FilePath;
                cfEntity.ServerCreateTime  = serverfile.CreateTime;
                cfEntity.ServerUpdateTime  = serverfile.UpdateTime;
                cfEntity.ServerHashCode    = serverfile.HashCode;
                cfEntity.ServerFileVersion = serverfile.FileVersion;
                cfEntity.ServerFileSize    = serverfile.FileSize;
            }
            if (localfile != null)
            {
                cfEntity.FileName         = localfile.FileName;
                cfEntity.FilePath         = localfile.FilePath;
                cfEntity.LocalCreateTime  = localfile.CreateTime;
                cfEntity.LocalUpdateTime  = localfile.UpdateTime;
                cfEntity.LocalHashCode    = localfile.HashCode;
                cfEntity.LocalFileVersion = localfile.FileVersion;
                cfEntity.LocalFileSize    = localfile.FileSize;
            }
            return(cfEntity);
        }
Example #5
0
 private FileEntity ConvertToFileEntity(UpdateClient.AutoUpdateSvc.FileEntity item)
 {
     FileEntity feEntity = new FileEntity();
     feEntity.FileName = item.FileName;
     feEntity.CreateTime = item.CreateTime;
     feEntity.FilePath = item.FilePath;
     feEntity.FileSize = item.FileSize;
     feEntity.FileVersion = item.FileVersion;
     feEntity.HashCode = item.HashCode;
     feEntity.UpdateTime = item.UpdateTime;
     feEntity.IsExist = item.IsExist;
     return feEntity;
 }