mso*_*son 6 .net c# dependency-injection quartz.net asp.net-core-3.1
我正在开发一个 Asp.Net Core 3.1 应用程序,我需要在其中安排不同类型的作业。我们使用 Scoped 作业来使用 Scoped 服务(如 dbcontext)。截至最近,Quartz.NET 在UseMicrosoftDependencyInjectionScopedJobFactory(如官方文档中所述)的帮助下支持开箱即用的作用域作业。
但是,我不确定如何注册实际的调度程序以便将其注入我的服务中并能够在运行时调度新作业。
我知道我可以通过这样做来获得 IScheduler:
ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
scheduler = schedulerFactory.GetScheduler();
Run Code Online (Sandbox Code Playgroud)
但我还没有找到任何有关如何在我的实际服务管道中注册它的文档。执行此操作的正确/推荐/记录方法是什么?
小智 5
文档描述了如何使用Quartz.NETDI 容器。因此,最好先检查所描述的示例。
关于ISchedulerFactory范围服务的动态解析,一旦调用,工厂就会在容器中注册:
serviceCollection.AddQuartz(q =>
{
...
// your configuration
...
q.UseMicrosoftDependencyInjectionScopedJobFactory()
...
})
Run Code Online (Sandbox Code Playgroud)
因此,在您的服务中,您可以注入ISchedulerFactory并对其执行操作。
| 归档时间: |
|
| 查看次数: |
6054 次 |
| 最近记录: |