2015-08-08 23 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

相關問題