示例#1
0
        private void ReloadAuxiliaryDataIfExpired()
        {
            if (LastAuxiliaryDataLoadTime == null || LastAuxiliaryDataLoadTime < DateTime.UtcNow - _auxiliaryDataRefreshRate)
            {
                IndexingUtils.Load(AuxiliaryFiles.Owners, _loader, _logger, _owners);
                IndexingUtils.Load(AuxiliaryFiles.CuratedFeeds, _loader, _logger, _curatedFeeds);
                _downloads.Load(AuxiliaryFiles.DownloadsV1, _loader, _logger);
                _rankings             = DownloadRankings.Load(AuxiliaryFiles.RankingsV1, _loader, _logger);
                _queryBoostingContext = QueryBoostingContext.Load(AuxiliaryFiles.SearchSettingsV1, _loader, _logger);
                _verifiedPackages     = VerifiedPackages.Load(AuxiliaryFiles.VerifiedPackages, _loader, _logger);

                LastAuxiliaryDataLoadTime = DateTime.UtcNow;
                AuxiliaryFiles.UpdateLastModifiedTime();
            }
        }
示例#2
0
        public static IReadOnlyDictionary <string, int> Load(string name, ILoader loader, FrameworkLogger logger)
        {
            try
            {
                using (JsonReader jsonReader = loader.GetReader(name))
                {
                    return(CreateDictionary(jsonReader));
                }
            }
            catch (Exception e)
            {
                if (IndexingUtils.IsFatal(e))
                {
                    throw;
                }

                logger.LogInformation("Unable to load {0}. Exception Message : {1}", name, e.Message);

                return(new Dictionary <string, int>());
            }
        }