我如何在 Quartz JobListener 中使用 DI?

How can I use DI in Quartz JobListener?

我需要在每次作业开始和结束时更新数据库中的一些字段,将其与作业内部工作区分开来。

问题是我无法在监听器中访问我的数据库上下文,因为 Scheduler.ListenerManager.AddJobListener 方法只接收监听器的一个实例。在这种情况下,如何对侦听器应用依赖注入?

你应该使用built-in support for dependency injection。因为侦听器基本上是单例,所以我认为您需要向侦听器注入一个服务提供者,然后手动创建一个范围来解析数据库上下文的使用。