Beispiel #1
0
        private List<CIHashCodeAndProcessedCount> GetPersistentCount()
        {
            //var directory = System.Web.Hosting.HostingEnvironment.MapPath(ConfigurationManager.AppSettings["CrawlerData"]);
            var directory = ConfigurationManager.AppSettings[CrawlerConfiguration.FolderPath];
            if (!Directory.Exists(directory))
            {
                return null;
            }
            var dirInfo = new DirectoryInfo(directory);
            DirectoryInfo[] dirs = dirInfo.GetDirectories();
            if (dirs != null && dirs.Any())
            {
                var returnList = new List<CIHashCodeAndProcessedCount>();
                foreach (var directoryInfo in dirs)
                {
                    var CIHashCodeCount = new CIHashCodeAndProcessedCount();
                    CIHashCodeCount.CrawlHashCode = int.Parse(directoryInfo.Name);
                    try
                    {
                        var directorys = directoryInfo.GetDirectories().Where(m => m.Name != CrawlerConfiguration.ConfigFolderName).OrderByDescending(m => int.Parse(m.Name));
                        var dirCount = directorys.Count();
                        if (dirCount == 0)
                        {
                            CIHashCodeCount.Count = 0;
                        }
                        else
                        {
                            var lastIndexFolder = directorys.First();
                            var maxDirIndex = int.Parse(lastIndexFolder.Name) - 1;
                            CIHashCodeCount.Count = lastIndexFolder.GetFiles().Count() + maxDirIndex * CrawlerConfiguration.FileCountInFolder;
                        }

                    }
                    catch (Exception)
                    {
                        CIHashCodeCount.Count = 0;
                    }
                    returnList.Add(CIHashCodeCount);
                }
                return returnList;
            }
            else
            {
                return null;
            }
        }
Beispiel #2
0
 private List<CIHashCodeAndProcessedCount> GetAllProcessCount()
 {
     var processedResult = ConfigurationManager.AppSettings["ProcessedResult"];
     var directory = System.Web.Hosting.HostingEnvironment.MapPath(ConfigurationManager.AppSettings["CrawlerData"]);
     if (!Directory.Exists(directory))
     {
         return null;
     }
     var dirInfo = new DirectoryInfo(directory);
     DirectoryInfo[] dirs = dirInfo.GetDirectories();
     if (dirs != null && dirs.Any())
     {
         var returnList = new List<CIHashCodeAndProcessedCount>();
         foreach (var directoryInfo in dirs)
         {
             var CIHashCodeCount = new CIHashCodeAndProcessedCount();
             CIHashCodeCount.CrawlHashCode = int.Parse(directoryInfo.Name);
             var processedResultDir = directoryInfo.FullName + "\\" + processedResult;
             if (Directory.Exists(processedResultDir))
             {
                 var processInfo = new DirectoryInfo(processedResultDir);
                 FileInfo[] files = processInfo.GetFiles();
                 CIHashCodeCount.Count = files.Count();
             }
             else
             {
                 CIHashCodeCount.Count = 0;
             }
             returnList.Add(CIHashCodeCount);
         }
         return returnList;
     }
     else
     {
         return null;
     }
 }