我在asp.net mvc中使用quartz.net每隔1分钟执行一些计划的作业,
通常您可以通过此代码向您的工作发送一些参数,我向我的工作发送两个字符串参数作为键/值
IJobDetail SendMatchQuestionJob = JobBuilder.Create<QuestionJob>()
.UsingJobData("param1", "value1")
.UsingJobData("param2", "value2")
.Build();
我想将字符串数组发送到计划的作业而不是简单的字符串值,您有想法吗?或样品?
谢谢你。
最佳答案
您可以使用JobDataMap。 UsingJobData()具有JobDataMap的重载。
您可以构建JobDataMap,如下所示:
IJobDetail SendMatchQuestionJob = JobBuilder.Create<QuestionJob>().Build();
SendMatchQuestionJob.JobDataMap["testArray"] = new string[]{"item1", "item2"};
稍后,您可以通过执行上下文从JobDataMap中获取它:
public void Execute(JobExecutionContext context)
{
JobKey key = context.JobDetail.Key;
JobDataMap dataMap = context.JobDetail.JobDataMap;
string[] testArray = (string[]) dataMap["testArray"];
}