从asp.net调度作业,在windows服务应用程序中执行

本文关键字:服务 应用程序 执行 windows asp net 调度作业 | 更新日期: 2023-09-27 18:27:37

我是.NET的新手,第一次使用Quartz.NET调度程序。我希望从ASP.NET调度作业,但在基于.NET的windows服务(或控制台)应用程序中执行这些作业。我可以看出,这可能发生在:使用一个windows服务执行作业,使用两个web应用程序调度作业

在我读到的大多数示例中,作业类在安排作业的上下文中可用。例如:从Windows服务执行Quartz.NET作业

然而,在我的情况下,我看不出这是怎么可能的,因为作业类在ASP.NET中不可用。

编辑:基于ASP应用程序中的事件(用户触发),我想用一些数据参数(作业详细信息)安排一次作业。这是我感到困惑的部分,这是否可能只使用Quartz,或者我是否必须为windows服务编写某种通信机制来安排工作。

另一方面,我也会有一些工作按照固定的时间表运行,很明显,代码只是windows服务的一部分。

从asp.net调度作业,在windows服务应用程序中执行

Quartz调度器用于根据预定义的时间表重复执行作业。在您的情况下,调度信息和作业执行都需要由windows服务处理。

asp.net应用程序用于从用户那里收集时间表信息,因此收集的信息需要提供给运行在windows服务中的调度器。

希望这能有所帮助。

用于创建只运行一次作业的触发器的代码。

TriggerBuilder.Create()
                .WithIdentity(batch.BatchId.ToString())
                .StartNow()
                .WithSimpleSchedule(x => x.WithRepeatCount(0)).Build();