【发布时间】:2015-09-20 12:45:42
【问题描述】:
我一直在尝试重新创建一个 .net Windows 服务来利用 Quart 调度系统,而不是简单的计时器。到目前为止,当从一个单独的 GUI 应用程序中启动该服务时,该服务运行完美,该应用程序已构建为以交互模式运行该服务。但是,当从服务管理器中单独启动服务时,我在启动后立即收到 Windows 服务错误 1053(大多数情况下,它在一台计算机上启动了几次,但非常不一致,即使在重新启动后也是如此)。将调试器附加到进程后,我可以看到它在运行“GetScheduler()”时总是停止(但是程序永远不会抛出异常)
目前我正在创建一个调度工厂并从服务构造函数中运行 GetScheduler()。我已尝试在 OnStart() 方法中运行这些命令,但随后收到错误 1067。
另外因为 Quart 是开源的,我尝试导入它的代码并搜索我的程序在 GetScheduler() 中停止的位置,但它永远不会在同一个地方停止。
任何关于为什么我不能将程序作为服务运行的想法将不胜感激,谢谢
【问题讨论】:
-
您的服务中是否有阻止应用程序结束的东西?如果不是,则在启动调度器后,主线程将无事可做,将退出,与他一起中止所有后台子线程。
标签: .net visual-studio-2012 windows-services quartz-scheduler quartz.net