public void OnStart(string[] args) { // инициализация необходимых директорий bool dirsExist; // необходимые директории существуют bool logDirExists; // директория log-файлов существует mainLogic.InitAppDirs(out dirsExist, out logDirExists); if (logDirExists) { appLog.WriteBreak(); appLog.WriteAction(Localization.UseRussian ? "Служба ScadaServerService запущена" : "ScadaServerService is started", Log.ActTypes.Action); } if (dirsExist) { // локализация ScadaData.dll if (!Localization.UseRussian) { string errMsg; if (Localization.LoadDictionaries(mainLogic.LangDir, "ScadaData", out errMsg)) { CommonPhrases.Init(); } else { appLog.WriteAction(errMsg, Log.ActTypes.Error); } } // запуск работы SCADA-Сервера if (!mainLogic.Start()) { appLog.WriteAction(Localization.UseRussian ? "Нормальная работа программы невозможна." : "Normal program execution is impossible.", Log.ActTypes.Error); } else { checkThread.Start(); } } else { string errMsg = string.Format(Localization.UseRussian ? "Не существуют необходимые директории:\r\n{0}\r\n{1}\r\n{2}\r\n{3}\r\n" + "Нормальная работа программы невозможна." : "Required directories are not exist:\r\n{0}\r\n{1}\r\n{2}\r\n{3}\r\n" + "Normal program execution is impossible.", mainLogic.ConfigDir, mainLogic.LangDir, mainLogic.LogDir, mainLogic.ModDir); try { if (EventLog.SourceExists("ScadaServerService")) { EventLog.WriteEvent("ScadaServerService", new EventInstance(0, 0, EventLogEntryType.Warning), errMsg); } } catch { } if (logDirExists) { appLog.WriteAction(errMsg, Log.ActTypes.Error); } } }
/// <summary> /// Запустить службу /// </summary> public void StartService() { // инициализация необходимых директорий bool dirsExist; // необходимые директории существуют bool logDirExists; // директория log-файлов существует mainLogic.InitAppDirs(out dirsExist, out logDirExists); if (logDirExists) { appLog.WriteBreak(); appLog.WriteAction(string.Format(Localization.UseRussian ? "Служба ScadaServerService {0} запущена" : "ScadaServerService {0} is started", ServerUtils.AppVersion), Log.ActTypes.Action); } if (dirsExist) { // локализация приложения string errMsg; if (Localization.LoadDictionaries(mainLogic.AppDirs.LangDir, "ScadaData", out errMsg)) { CommonPhrases.Init(); } else { appLog.WriteAction(errMsg, Log.ActTypes.Error); } if (Localization.LoadDictionaries(mainLogic.AppDirs.LangDir, "ScadaServer", out errMsg)) { ModPhrases.InitFromDictionaries(); } else { appLog.WriteAction(errMsg, Log.ActTypes.Error); } // запуск работы SCADA-Сервера if (!mainLogic.Start()) { appLog.WriteAction(Localization.UseRussian ? "Нормальная работа программы невозможна." : "Normal program execution is impossible.", Log.ActTypes.Error); } } else { string errMsg = string.Format(Localization.UseRussian ? "Не существуют необходимые директории:{0}{1}{0}{2}{0}{3}{0}{4}{0}" + "Нормальная работа программы невозможна." : "Required directories are not exist:{0}{1}{0}{2}{0}{3}{0}{4}{0}" + "Normal program execution is impossible.", Environment.NewLine, mainLogic.AppDirs.ConfigDir, mainLogic.AppDirs.LangDir, mainLogic.AppDirs.LogDir, mainLogic.AppDirs.ModDir); try { if (EventLog.SourceExists("ScadaServerService")) { EventLog.WriteEvent("ScadaServerService", new EventInstance(0, 0, EventLogEntryType.Error), errMsg); } } catch { } if (logDirExists) { appLog.WriteAction(errMsg, Log.ActTypes.Error); } } }