Quartz.Net - 如何将对象关联到作业详细信息

Quartz.Net - How to associate an object to an IJobDetail

我在我的项目中使用 quartz.net,我想将一个对象与 IJobDetail 相关联。

我知道可以使用

UsingJobData

但我只能放字符串、整数等,但我想放一个对象,我该怎么做?

所以我在自己尝试了一些事情后找到了答案,它有点有线,它不在他们的文档中,但无论如何。

事情是这样的:

IDictionary<string, object> data = new Dictionary<string, object>();
data.Add("Data#1", MyData1);
data.Add("Data#2", MyData2);

IJobDetail job = JobBuilder.Create<MyJob>().SetJobData(new JobDataMap(data));

而在作业中的execute方法中我们会这样接收:

var data1 = context.JobDetail.JobDataMap.Get("Data#1");