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);
                }
            }
        }
示例#2
0
        /// <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);
            }
        }