0

Я пытаюсь воссоздать .net службу Windows, чтобы использовать систему Quart Scheduling вместо простых таймеров. Пока Сервис работает отлично, когда он запускается из отдельного приложения GUI, которое было создано для запуска службы в интерактивном режиме. Однако при запуске службы изнутри диспетчера служб я получаю ошибку службы Windows 1055 сразу после ее запуска (большую часть времени она запускалась несколько раз на одном компьютере, но очень непоследовательно и даже тогда только после перезагрузки). После прикрепления отладчика к процессу я вижу, что он всегда останавливается при запуске «GetScheduler()» (программа никогда не генерирует исключения)Использование Quartz .net в Windows Service

В настоящее время я создаю фабрику расписания и запускаю GetScheduler() из службы конструктор. Я попытался запустить эти команды в методе OnStart(), но затем получаю сообщение об ошибке 1067.

Кроме того, поскольку Quart является открытым исходным кодом, я попытался импортировать его код и искать, где моя программа останавливается внутри GetScheduler(), но она никогда не останавливается на том же месте.

Любые идеи того, почему я не могу запустить программу как сервис будет оценено, спасибо

+0

У вас есть что-то в вашем сервисе, которое препятствует завершению работы приложения? Если нет, то сразу после запуска планировщика основной поток не будет иметь ничего общего и выйдет, прерывая все дочерние потоки фона. –

ответ

0

Попробуйте это:

1) Скачать весь проект от GitHub (https://github.com/quartznet/quartznet)

2) Используйте содержимое папки сервера в качестве отправной точки

3) Используйте команды установки верхнего уровня (How can I automate a Topshelf interactive service install?). Подтвердите, найдя Quartz.Service, запущенный в консоли служб (services.msc)

4) Из коробки он поставляется с одним заданием (SampleJob.cs), сделав это своей первой работой и настройте оттуда.

надеюсь, что это поможет.

0

Создал ли файл quartz.config тот же путь, где исполняемый файл вызывается вашей службой? Если да, смотрите, если он правильно настроен, посмотрите на эти ссылки:

Что-то еще, что могло случиться, если вы хранения заданий и триггеров в базу данных, ваша служба должна быть установлена ​​с использованием соответствующей учетной записи, которая имеет необходимые разрешения для доступа к вашей системной базе данных. Если это проблема, вам нужно создать установщик для своей службы и настроить его для запроса имени пользователя и пароля во время установки. (https://msdn.microsoft.com/en-us/library/0x72fzyf(v=vs.110).aspx)

Смежные вопросы