public Conf(Action <string> abort = null) { var setterDict = new Dictionary <string, Func <string, string> > { { "setServiceName", SetServiceName }, { "setDisplayName", SetDisplayName }, { "setDescription", SetDescription }, { "setDependencies", SetDependencies }, { "setWorker", SetWorker }, { "setEnvironments", SetEnvironments }, { "setWorkingDir", SetWorkingDir }, { "setOutFileDir", SetOutFileDir }, { "setWaitSecondsForWorkerToExit", SetWaitSecondsForWorkerToExit }, { "setWorkerEncoding", SetWorkerEncoding }, { "setWorkerMemoryLimit", SetWorkerMemoryLimit }, { "setDomain", SetDomain }, { "setUser", SetUser }, { "setPassword", SetPassword } }; var err = Libs.ReadConfig(Consts.CONF_FILE, setterDict); if (err != null) { abort = abort ?? Libs.Abort; abort($"Configuration Error: {err}"); } ResolvePaths(); if (DisplayName == null || DisplayName.Length == 0) { DisplayName = ServiceName; } }
public string Read() { var err = Libs.ReadConfig(CONF_FILE, setterDict); if (err != null) { return(err); } WorkingDir = Path.GetFullPath(WorkingDir); OutFileDir = Path.GetFullPath(OutFileDir); LastLineFile = Path.Combine(OutFileDir, LAST_LINE_FILE); var suffixes = new string[] { "", ".exe", ".bat" }; foreach (var suffix in suffixes) { if (suffix.Length > 0 && WorkerFileName.EndsWith(suffix)) { continue; } var realName = Path.Combine(WorkingDir, WorkerFileName + suffix); if (File.Exists(realName)) { WorkerFileName = realName; break; } } return(null); }
public Conf(bool manageMode) { ManageMode = manageMode; var setterDict = new Dictionary <string, FieldSetter> { { "setServiceName", SetServiceName }, { "setDisplayName", SetDisplayName }, { "setDescription", SetDescription }, { "setDependencies", SetDependencies }, { "setWorker", SetWorker }, { "setEnvironments", SetEnvironments }, { "setWorkingDir", SetWorkingDir }, { "setOutFileDir", SetOutFileDir }, { "setWaitSecondsForWorkerToExit", SetWaitSecondsForWorkerToExit }, { "setWorkerEncoding", SetWorkerEncoding }, { "setDomain", SetDomain }, { "setUser", SetUser }, { "setPassword", SetPassword } }; var err = Libs.ReadConfig(CONF_FILE, setterDict); if (err != null) { if (ManageMode) { Console.WriteLine($"Configuration Error: \r\n{err}"); Environment.Exit(1); } Abort($"Configuration Error: \r\n{err}"); } WorkingDir = Path.GetFullPath(WorkingDir); OutFileDir = OutFileDir != null?Path.GetFullPath(OutFileDir) : null; LastLineFile = OutFileDir != null?Path.Combine(OutFileDir, LAST_LINE_FILE) : null; var suffixes = new string[] { "", ".exe", ".bat" }; foreach (var suffix in suffixes) { if (suffix.Length > 0 && WorkerFileName.EndsWith(suffix)) { continue; } var realName = Path.Combine(WorkingDir, WorkerFileName + suffix); if (File.Exists(realName)) { WorkerFileName = realName; break; } } }