Ошибка после остановки службы через планировщик заданий

У меня есть работающая служба на Windows Server 2012 под названием FileWatcher. Он проверяет файлы в папках и делает другие вещи. Я должен останавливать и перезапускать службу каждый день в 2 часа ночи, поэтому я настроил две запланированные задачи: первая останавливает службу в 2 часа ночи, вторая запускает ее в 2 часа ночи.

Все работает. Служба останавливается, затем перезапускается. Но если я проверю средство просмотра событий, я найду некоторые ошибки.

  • 2:00:00: Служба успешно остановлена.
  • 2:00:00: Не удалось остановить службу. System.InvalidOperationException: Обнаружено необработанное исключение ---> System.InvalidOperationException: Не удается прочитать ключи, если какое-либо приложение не имеет консоли или когда ввод консоли был перенаправлен из файла. Попробуйте Console.Read.
  • 2:00:00: Описание: Процесс был прерван из-за необработанного исключения. Информация об исключении: System.InvalidOperationException
  • 2.00.00 : Имя сбойного приложения: FileWatcher.exe, версия: 1.0.0.0, отметка времени: 0x5aeae776 Имя сбойного модуля: KERNELBASE.dll, версия: 6.3.9600.18340, отметка времени: 0x5736541b Код исключения: 0xe0434352 Смещение ошибки: 0x00014878 идентификатор процесса: 0x1a6c
  • 2.01.01 Служба AM успешно запущена.

Что происходит? Я имею в виду, служба останавливается и перезапускается, почему я получаю эти ошибки? Я уже проверил другой подобный вопрос, и парень решил изменить проект с приложения Windows на консольное приложение. Мое уже было консольным приложением.

Заранее благодарю, М.


person MNeg    schedule 25.05.2018    source источник


Ответы (1)


Можете ли вы повторить ошибку при запуске/остановке службы вручную? Можете ли вы найти строку, где это происходит?

Невозможно прочитать ключи, если какое-либо приложение не имеет консоли или если ввод консоли был перенаправлен из файла. Попробуйте Console.Read.

Это дикая догадка, но у вас есть Console.ReadKey() где-то в вашей службе.

person Janci    schedule 25.05.2018
comment
Большое Вам спасибо!!! Я решил это, изменив Console.Readkey на Console.Read. Небольшая разница есть, но в моем случае она не изменила функционал программы. Большое спасибо! - person MNeg; 25.05.2018