CrystalQuartz не работает при запуске в качестве службы Windows - PullRequest
0 голосов
/ 16 мая 2018

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

IScheduler scheduler = SetupScheduler();
                Action<IAppBuilder> startup = app => 
                {
                    app.UseCrystalQuartz(scheduler);
                };

                Console.WriteLine("Starting self-hosted server...");
                using (WebApp.Start("http://localhost:9000/", startup))
                {
                    Console.WriteLine("Server is started");
                    Console.WriteLine();
                    Console.WriteLine("Check http://localhost:9000/quartz to see jobs information");
                    Console.WriteLine();

                    Console.WriteLine("Starting scheduler...");
                    scheduler.Start();

                    Console.WriteLine("Scheduler is started");
                    Console.WriteLine();
                    Console.WriteLine("Press [ENTER] to close");     
                    Console.ReadLine();     
                }

                Console.WriteLine("Shutting down...");
                scheduler.Shutdown(waitForJobsToComplete: true);
                Console.WriteLine("Scheduler has been stopped");

, когда мы развертываем приложение как службу Windows. Я получаю сообщение об ошибке при открытии ссылки в браузере "Этот сайт не может быть достигнут».но он работает нормально, когда мы запускаем его как консоль.

1 Ответ

0 голосов
/ 17 мая 2018

наконец, я решил это, заменив console.readline на код ниже

System.Threading.ManualResetEvent ojbManualResetEvent = new System.Threading.ManualResetEvent(false);
                ojbManualResetEvent.WaitOne();
...