Параметры Windows сервиса
От: SMV77 Россия  
Дата: 04.07.07 11:38
Оценка:
Условие
Для нормального запуска сервиса необходимы параметры...

Если параметры отсутствуют или они некорректны сервис не должен запускаться вообще...

Сейчас разбор входящих параметров делаю в методе 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();
            }
}


Вопрос
Как ещё можно решить эту проблему?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.