c# - Quartz.NET 在作业中注入(inject)属性

标签 c# .net quartz.net

我这样使用 Quartz.NET:

ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = schedulerFactory.GetScheduler();

scheduler.Start();

IJobDetail clearCacheJob = JobBuilder.Create<ClearCacheJob>()
                        .WithIdentity("ClearCacheJob", "CacheGroup")
                        .Build();
scheduler.ScheduleJob(clearCacheJob, buildTrigger(cacheCronExpr));

ClearCacheJob 是一个实现 IJob

的类

它有效,但现在我想在 ClearCacheJob 类中添加一个属性。像这样的东西:

public class ClearCacheJob : IJob
{
    public ISomeService {get; set;}
    public void Execute(IJobExecutionContext context)
    {
        //do stuff
    }
}

如何设置SomeService

最佳答案

斯图尔特的评论是正确的。您需要实现自己的作业工厂。我在这里写了一篇描述该过程的博客文章:http://jayvilalta.com/blog//2012/07/23/creating-a-custom-quartz-net-jobfactory/

就 DI 容器而言,CaSTLe 也受支持。做一个search on NuGet for Quartz.Net并滚动浏览列表。你会看到 caSTLe、structuralmap、ninject、autofac 等。

关于c# - Quartz.NET 在作业中注入(inject)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32393009/

相关文章:

c# - "Security"和 ASP.NET 路由引擎的问题

c# - EventLog - 获取可用的日志

asp.net - 如何为自动 C++/CLI 应用程序域指定 ASP.NET 探测路径?

c# - Quartz.Net在Mono中启动线程卡住系统

c# - 调度程序不执行作业,似乎甚至没有注册它

c# - WCF自带的EndpointBehavior读取客户端Session

c# - 哪个 dll 包含泛型扩展方法?

.net - 获取自定义日期差异的函数

c# - HttpModule Init方法被调用了几次-为什么?

asp.net - 如何在 Quartz.Net 中处理应用程序关闭