Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在windows服务中使用Quartz.net_.net_Visual Studio 2012_Windows Services_Quartz Scheduler_Quartz.net - Fatal编程技术网

在windows服务中使用Quartz.net

在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()”时

我一直在尝试重新创建一个.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),让这成为您的第一个作业并从中进行定制


希望这有帮助。

您是否在服务调用的可执行文件所在的路径中创建了quartz.config文件? 如果是,请查看配置是否正确,查看以下参考:


可能发生的其他情况是,如果您在数据库中存储作业和触发器,则必须使用具有访问系统数据库所需权限的适当帐户安装服务。如果是问题,您需要为您的服务创建一个安装程序,并将其配置为在安装过程中提示用户名和密码。()

您的服务中是否有阻止应用程序终止的内容?否则,在启动scheduller之后,主线程将无事可做,并将退出,中止所有与他一起的后台子线程。