コード例 #1
0
ファイル: Program.cs プロジェクト: sg0502/OPC2SQL
        static void Main(string[] args)
        {
            var kernel = new StandardKernel();

            kernel.Load(Assembly.GetExecutingAssembly());

            logger = kernel.Get <ILog>();
            logger.Info("-----------------------------------");
            logger.Info("Запуск сервиса");

            oreader = kernel.Get <IO2SOPCReader>();
            creader = kernel.Get <IO2SConfigReader>();
            sender  = kernel.Get <IO2SSQLSender>();

            IList <O2SOPCTag> tags = oreader.ReadData();

            if (creader.SQLSendDataEnabled)
            {
                sender.SendData(tags);
            }

            logger.DeleteOldLogs(creader);

            Timer tm = new Timer(Worker, null, 0, creader.ReadInterval);

            //Timer tmlogs = new Timer(LogWorker, null, 0, creader.ReadInterval);

            Console.ReadKey();

            logger.Info("-----------------------------------");
            logger.Info("Остановка сервиса");
        }
コード例 #2
0
ファイル: O2SSQLSender.cs プロジェクト: sg0502/OPC2SQL
        /// <summary>Constructor.</summary>
        public O2SSQLSender(IO2SConfigReader creader, ILog logger)
        {
            // Initializing fields

            ConfigReader = creader;
            Logger       = logger;

            // Initializing connection

            Connected = Connect();
        }
コード例 #3
0
        /// <summary>Constructor.</summary>
        public O2SOPCReader(IO2SConfigReader creader, ILog logger)
        {
            try
            {
                // Initializing fields

                ConfigReader = creader;
                Logger       = logger;
                Tags         = new List <O2SOPCTag>();

                // Initializing OPC

                Connected = InitOPC();
            }
            catch (Exception er)
            {
                Logger.Error(er);
            }
        }
コード例 #4
0
        /// <summary>Deleting old log files.</summary>
        public static void DeleteOldLogs(this ILog logger, IO2SConfigReader creader)
        {
            try
            {
                logger.Info("*** Проверка старых логов");

                DateTime dt_file;
                System.IO.DirectoryInfo   info  = new System.IO.DirectoryInfo(Path.GetDirectoryName(creader.FileName) + "\\Logs");
                System.IO.DirectoryInfo[] dirs  = info.GetDirectories();
                System.IO.FileInfo[]      files = info.GetFiles();
                foreach (FileInfo file in files)
                {
                    dt_file = file.LastWriteTime;
                    if (dt_file < DateTime.Now.Date.AddDays(-creader.DaysToLog))
                    {
                        File.Delete(file.FullName);
                    }
                }
            }
            catch (Exception er)
            {
                logger.Error(er);
            }
        }
コード例 #5
0
        protected override void OnStart(string[] args)
        {
            var kernel = new StandardKernel();

            kernel.Load(Assembly.GetExecutingAssembly());
            logger = kernel.Get <ILog>();

            logger.Info("-----------------------------------");
            logger.Info("Запуск сервиса");

            creader   = kernel.Get <IO2SConfigReader>();
            oreader   = kernel.Get <IO2SOPCReader>();
            sqlsender = kernel.Get <IO2SSQLSender>();

            timer          = new System.Timers.Timer();
            timer.Interval = creader.ReadInterval;
            timer.Elapsed += new System.Timers.ElapsedEventHandler(this.OnTimer);
            timer.Start();

            timerLogs          = new System.Timers.Timer();
            timerLogs.Interval = 3600000 * 12; // Раз в 12 часов
            timerLogs.Elapsed += new System.Timers.ElapsedEventHandler(this.OnTimerLogs);
            timerLogs.Start();
        }