Условие
Для нормального запуска сервиса необходимы параметры...
Если параметры отсутствуют или они некорректны сервис не должен запускаться вообще...
Сейчас разбор входящих параметров делаю в методе OnStart().
Но это решение мне не нравиться...
protected override void OnStart(string[] args)
{
double _period = 0;
string _path2listener = "";
EventLog _event_log = new EventLog();
try
{
#region разбираем параметры запуска сервиса
if (args.Length == 0)
{
throw new Exception("Не заданы параметры для запуска сервиса");
}
if (args.Length != 2)
{
throw new Exception("Неверное число параметров для запуска сервиса");
}
try
{
_period = double.Parse(args[0]);
_path2listener = args[1];
}
catch (Exception Err)
{
throw new Exception("Параметр 'Период запроса' задан некорректным значением");
}
#endregion
this._server = new UserWebRequestServer(_period, _path2listener);
this._server._Start();
}
catch (Exception Err)
{
_event_log.Log = "Application";
_event_log.Source = this.ServiceName;
_event_log.WriteEntry(Err.Message, EventLogEntryType.Error);
throw new Exception();
}
finally
{
_event_log.Close();
}
}
Вопрос
Как ещё можно решить эту проблему?