我在c#.net中创建了一个Windows服务,它使用quartz.net每小时完成一项工作。它在本地工作,没有任何问题。但是当我在服务器2008 R2上安装它时,它不起作用。它开始没有错误。我使用了事件日志,而且我不熟练的类JobScheduler工作,但工作不会解雇。请帮帮我。
public class JobScheduler
{
public static void Start()
{
try
{
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler scheduler = schedFact.GetScheduler();
scheduler.Start();
IJobDetail job = JobBuilder.Create<CheckJob>().WithIdentity("MyJob", "group1").Build();
ITrigger trigger = TriggerBuilder.Create().WithIdentity("myTrigger", "group1").StartNow().WithSimpleSchedule(s => s.WithIntervalInHours(1).RepeatForever()).Build();
scheduler.ScheduleJob(job, trigger);
EventLogging.Log("jobscheduling ok");
}
catch (Exception ex)
{
EventLogging.Log("jobscheduler:"+ex.Message);
}
}
}
答案 0 :(得分:0)
根据我对石英的经验,你可以查看免费积分,
检查exe属性并确保它不被阻止
检查连接字符串是否正确
检查所需文件的路径是否正确
尝试编写日志/启用日志以查看出现了什么问题
答案 1 :(得分:0)
您有一个可变范围问题,因为您没有在Start方法之外保留对调度程序的引用。为了使调度程序在Start方法完成运行后继续运行,需要将调度程序变量定义为静态变量,而不是方法变量。
答案 2 :(得分:0)