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("Остановка сервиса"); }
/// <summary>Constructor.</summary> public O2SSQLSender(IO2SConfigReader creader, ILog logger) { // Initializing fields ConfigReader = creader; Logger = logger; // Initializing connection Connected = Connect(); }
/// <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); } }
/// <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); } }
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(); }