public void Run() { Thread.CurrentThread.Name = "CommonNotificationThread"; var checkMainStatsEvery = new CheckEvery(10); var checkHeartBeatEvery = new CheckEvery(10); this.IsRunning = true; while (this.IsRunning) { try { if (checkMainStatsEvery.IsTimeToCheck) { checkMainStatsEvery.UpdateChecked(); HomeDashboardHub.SendStats(this._homeHubContext); } if (checkHeartBeatEvery.IsTimeToCheck) { checkHeartBeatEvery.UpdateChecked(); HeartBeatHub.Beat(_heartbeatHubContext); } Thread.Sleep(300); } catch (Exception) { // ignore exceptions and just carry on Thread.Sleep(3000); } } }
/// <summary> /// Save this catalog to a file for the next time where WPP start. /// </summary> internal void Save(string baseFolder) { Logger.EnteringMethod(baseFolder); System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); System.Xml.XmlElement rootElement = (System.Xml.XmlElement)xmlDoc.AppendChild(xmlDoc.CreateElement("CatalogSubscription")); rootElement.AppendChild(xmlDoc.CreateElement("IsActive")).InnerText = IsActive.ToString(); rootElement.AppendChild(xmlDoc.CreateElement("Address")).InnerText = Address; rootElement.AppendChild(xmlDoc.CreateElement("CheckEvery")).InnerText = CheckEvery.ToString(); rootElement.AppendChild(xmlDoc.CreateElement("Unit")).InnerText = Unit.ToString(); rootElement.AppendChild(xmlDoc.CreateElement("LastCheck")).InnerText = LastCheckDate.ToString(); rootElement.AppendChild(xmlDoc.CreateElement("LastCheckResult")).InnerText = LastCheckResult.ToString(); rootElement.AppendChild(xmlDoc.CreateElement("CatalogName")).InnerText = CatalogName; rootElement.AppendChild(xmlDoc.CreateElement("Hash")).InnerText = Hash; rootElement.AppendChild(xmlDoc.CreateElement("LastDownloadDate")).InnerText = LastDownloadDate.ToString(); FileInfo catalogFile = new FileInfo(baseFolder + "\\" + this.CatalogName + ".xml"); if (!catalogFile.Directory.Exists) { catalogFile.Directory.Create(); } try { xmlDoc.Save(catalogFile.FullName); } catch (Exception ex) { Logger.Write("**** Error when saving " + catalogFile.FullName + ".\r\n" + ex.Message); } }