2015-08-08 59 views
0

这里是把数据放到JobDataMap添加作业调度程序之前的例子:如何让对象在执行时可用于作业实例?

IJobDetail job = JobBuilder.Create<DumbJob>() 
    .UsingJobData("jobSays", "Hello World!") 
    .UsingJobData("myFloatValue", 3.141f) 
    .Build(); 

JobDataMap获取值:

public class DumbJob : IJob 
{ 
    public void Execute(JobExecutionContext context) 
    { 
     JobDataMap dataMap = context.JobDetail.JobDataMap; 
     string jobSays = dataMap.GetString("jobSays"); 
     float myFloatValue = dataMap.GetFloat("myFloatValue"); 
    } 
} 

但它仅适用于基本类型。所以,我找不到在作业执行期间转移myObject的方法。我怎样才能做到这一点?

回答

0

尝试

IJobDetail job = JobBuilder.Create<DumbJob>() 
    .UsingJobData("someKey", someObjectOfTypeT) 
    .Build(); 


TypeT someValue = <TypeT>dataMap.Get("someKey"); 

http://quartznet.sourceforge.net/apidoc/2.0/html/

+0

ü在哪里找到 “someObjectOfType”?只有8个构造函数:(JobDataMap),(String,Boolean),(String,Decimal),(String,Double),(String,Int32),(String,Int64),(String,Single)和(String,String )。 – user3818229

相关问题