private void InitProjectOnlineAccessService() { bool isProjectOnline = Boolean.Parse(ConfigurationManager.AppSettings["IsProjectOnline"]); projectOnlineAccessService = new ProjectOnlineAccessService(ConfigurationManager .AppSettings["ProjectOnlineUrl"], ConfigurationManager.AppSettings["ProjectOnlineUserName"], ConfigurationManager.AppSettings["ProjectOnlinePassword"], isProjectOnline, Guid.Empty); projectOnlineODataService = new ProjectOnlineODataService(ConfigurationManager .AppSettings["ProjectOnlineUrl"], ConfigurationManager.AppSettings["ProjectOnlineUserName"], ConfigurationManager.AppSettings["ProjectOnlinePassword"], isProjectOnline); projectOnlineAccessService.InitCache(); projectOnlineODataService.InitCache(); }
private void OnTimerJiraTick(object state) { TimeSpan timeElapsed = DateTime.Now - lastCleanCache; logger.Info($"OnTimerJiraTick START lastCleanCache: {lastCleanCache}; " + $"timeElapsed.TotalMilliseconds: {timeElapsed.TotalMilliseconds}"); if (Monitor.TryEnter(lockObjectJira)) { try { if (timeElapsed.TotalMilliseconds >= periodCleanCache || ProjectOnlineCache.NeedInitCache()) { projectOnlineAccessService.ClearCache(); projectOnlineAccessService.InitCache(); projectOnlineODataService.ClearCache(); projectOnlineODataService.InitCache(); lastCleanCache = DateTime.Now; } using (var unitOfWork = new UnitOfWork()) { Guid winServiceIterationUid = Guid.NewGuid(); dbToProjectOnlineSync = new DbToProjectOnlineSync(unitOfWork, projectOnlineODataService, publishMax, stagingRecordLifeTime, projectsPerIteration, winServiceIterationUid); dbToProjectOnlineSync.SynchronizeData(state); } } catch (Exception exception) { logger.Fatal(exception); } finally { Monitor.Exit(lockObjectJira); } } logger.Info("OnTimerJiraTick END"); }