protected override void OnStart(string[] args) { putToSvcLog("*** Запуск Windows-службы КДС ***"); #if DEBUG == true if (args != null) { putToSvcLog("аргументы запуска службы: " + string.Join(" ", args)); } #endif // ЗАЩИТА PSW-файлом // аргумент запуска args = new string[] { "-autoGenLicence" }; bool isLoyalClient = ((args != null) && args.Contains("-autoGenLicence")); // ключ реестра HKLM\Software\Integra\autoGenLicence = 01 (binary) if (isLoyalClient == false) { isLoyalClient = RegistryHelper.IsExistsAutoGenLicenceKey(); } pswLib.CheckProtectedResult checkProtectedResult; if (pswLib.Hardware.IsCurrentAppProtected("KDSService", out checkProtectedResult, null, isLoyalClient) == false) { putToSvcLog(checkProtectedResult.LogMessage); putToSvcLog(checkProtectedResult.CustomMessage); Environment.Exit(2); return; } // 1. Инициализация сервисного класса KDSService try { // config file string cfgFile = CfgFileHelper.GetAppConfigFile("KDSService"); putToSvcLog("Инициализация сервисного класса KDSService..."); service = new KDSService.KDSServiceClass(); service.InitService(cfgFile); putToSvcLog("Инициализация сервисного класса KDSService... Ok"); } catch (Exception ex) { putToSvcLog("Ошибка инициализации сервисного класса: " + ex.Message); exitApplication(1); } // создать хост, параметры канала считываются из app.config try { putToSvcLog("Создание канала для приема сообщений..."); service.CreateHost(); } catch (Exception ex) { putToSvcLog(" ERROR: " + ex.Message); exitApplication(2); } service.StartTimer(); putToSvcLog("Создание канала для приема сообщений... Ok\n\tСлужба готова к приему сообщений."); }
static void Main(string[] args) { Console.Title = "KDS SERVICE"; Console.WriteLine("*** Начало работы приложения ***"); KDSService.KDSServiceClass service = new KDSService.KDSServiceClass(); // 1. Инициализация сервисного класса KDSService try { // config file //string cfgFile = @"D:\KDSService.config"; string cfgFile = AppDomain.CurrentDomain.BaseDirectory + "KDSService.config"; Console.WriteLine("Инициализация сервисного класса KDSService..."); service.InitService(cfgFile); Console.WriteLine("Инициализация сервисного класса KDSService... Ok"); } catch (Exception ex) { Console.WriteLine("Ошибка инициализации сервисного класса: " + ex.Message); exitWithPrompt(1); } // создать и открыть канал для приема сообщений try { Console.WriteLine("Создание канала для приема сообщений..."); service.CreateHost(); DisplayHostInfo(service.ServiceHost); } catch (Exception ex) { Console.WriteLine(" ERROR: " + ex.Message); exitWithPrompt(2); } service.StartTimer(); Console.WriteLine("\nСлужба готова к приему сообщений.\nДля завершения нажмите Enter\n"); Console.ReadKey(); if (service != null) { Console.WriteLine("Закрытие служебного класса KDSService"); service.Dispose(); service = null; } Console.WriteLine("*** Завершение работы приложения ***"); }