在windows服务中使用Quartz.net
我一直在尝试重新创建一个.net Windows服务,以利用Quart调度系统,而不是简单的计时器。到目前为止,当从一个单独的GUI应用程序内部启动时,该服务可以完美运行,该应用程序是为以交互模式运行该服务而构建的。但是,当从service manager中单独启动服务时,我会在启动后立即收到一个windows服务错误1053(大多数情况下,它在一台计算机上启动过几次,但非常不一致,甚至只有在重新启动后才会出现)。在将调试器附加到进程之后,我可以看到它总是在运行“GetScheduler()”时停止(但是程序从不抛出异常) 目前,我正在创建一个调度工厂,并从服务构造函数中运行GetScheduler()。我尝试在OnStart()方法中运行这些命令,但收到一个错误1067 另外,因为Quart是开源的,所以我尝试导入它的代码并在GetScheduler()中搜索我的程序停止的位置,但它从不在同一个位置停止 如果您能告诉我为什么我不能将程序作为服务运行,我们将不胜感激,谢谢您尝试以下方法: 1) 从github()下载整个项目 2) 使用服务器文件夹内容作为起点 3) 使用topshelf安装命令()。通过在服务控制台(services.msc)中查找运行的Quartz.Service进行验证 4) 开箱即用,它附带一个作业(SampleJob.cs),让这成为您的第一个作业并从中进行定制在windows服务中使用Quartz.net,.net,visual-studio-2012,windows-services,quartz-scheduler,quartz.net,.net,Visual Studio 2012,Windows Services,Quartz Scheduler,Quartz.net,我一直在尝试重新创建一个.net Windows服务,以利用Quart调度系统,而不是简单的计时器。到目前为止,当从一个单独的GUI应用程序内部启动时,该服务可以完美运行,该应用程序是为以交互模式运行该服务而构建的。但是,当从service manager中单独启动服务时,我会在启动后立即收到一个windows服务错误1053(大多数情况下,它在一台计算机上启动过几次,但非常不一致,甚至只有在重新启动后才会出现)。在将调试器附加到进程之后,我可以看到它总是在运行“GetScheduler()”时
希望这有帮助。您是否在服务调用的可执行文件所在的路径中创建了quartz.config文件? 如果是,请查看配置是否正确,查看以下参考:
可能发生的其他情况是,如果您在数据库中存储作业和触发器,则必须使用具有访问系统数据库所需权限的适当帐户安装服务。如果是问题,您需要为您的服务创建一个安装程序,并将其配置为在安装过程中提示用户名和密码。()您的服务中是否有阻止应用程序终止的内容?否则,在启动scheduller之后,主线程将无事可做,并将退出,中止所有与他一起的后台子线程。