Job类必须实现Job接口。“我使用Quartz.Net 1.0.3创建了简单的工作
public class SimpleTestJob : IJob
{
public virtual void Execute(JobExecutionContext context)
{
System.Diagnostics.EventLog.WriteEntry("QuartzTest", "This is a test run");
}
}
然后我尝试将上面的作业动态添加到Quartz服务器
首先我收到了一个使用反射的类型
string jobType = "Scheduler.Quartz.Jobs.SimpleTestJob,Scheduler.Quartz,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null";
var schedType= Type.GetType(jobType, false, true);
它正在工作。然后我尝试创建JobDetail对象
JobDetail job = job = new JobDetail(jobName, groupName, schedType.GetType());
但是我收到了Quartz.Net框架的错误。
"Job class must implement the Job interface."
请帮忙
答案 0 :(得分:2)
尝试删除虚拟关键字,您可能还想尝试使用scofType.GetType()的typeof运算符。我不确定schedType的类型最终会被定义为var。
答案 1 :(得分:2)
我正在使用Quartz 1.0.3,它是用.net 3.5编译的。
但是schedType.GetType
返回类型为RunTime版本4的类型。
我真的不需要使用GetType函数,因为我读过一个类型,我之前收到的
var schedType= Type.GetType(jobType, false, true);
所以我的修复是
JobDetail job = new JobDetail(jobName, groupName, schedType);