传递Quartz作业执行时可以检索的对象有两种方法:
在数据图中传递实例.当您设置作业时,使用以下键将您的实例添加到地图中:
// Create job etc...
var MyClass _myInstance;
statusJob.JobDataMap.Put("myKey", _myInstance);
// Schedule job...
检索作业的Execute()方法中的实例,如下所示:
public void Execute(IJobExecutionContext context)
{
var dataMap = context.MergedJobDataMap;
var myInstance = (MyClass)dataMap["myKey"];
要么
将实例添加到调度程序上下文中,当您设置作业时,如下所示:
ISchedulerFactory schedFact = new StdSchedulerFactory();
_sched = schedFact.GetScheduler();
_sched.Start();
// Create job etc...
var MyClass _myInstance;
_sched.Context.Put("myKey", myInstance);
// Schedule job...
检索作业的Execute()方法中的实例,如下所示:
public void Execute(IJobExecutionContext context)
{
var schedulerContext = context.Scheduler.Context;
var myInstance = (MyClass)schedulerContext.Get("myKey");