如何将 quartz 功能添加到 .net 2.0 项目?
How to add quartz functionality to .net 2.0 project?
我有一个针对 .Net 2.0 的单个 winforms 项目的解决方案。我需要项目表单中的一些 quartz 功能,但我无法添加该包,因为它需要更高版本的 .Net。在这种情况下有什么解决方法吗?
编辑:也许还有另一个 .Net 2.0 的调度工具?我只需要在要求的时间执行要求的方法的功能。
您可以通过 .NET Framework 2.0 使用 Quartz 1.0。从 2.0 开始的 Quartz 版本不能与 .NET Framework 2.0 一起使用,并且依赖于 .NET 3.5 的某些功能,而更高版本则依赖于 .Net 4.0。
要在 .NET 2.0 项目中使用 Quartz:
- 下载
Quartz 1.0
(or 1.0.1 or 1.0.2 or 1.0.3)
- 从
bin.0\Release\Quartz
路径,添加对 Quartz.dll
和 Common.Logging.dll
的引用。
- 像这样写一个示例计划作业:
using System;
using System.ComponentModel;
using System.Windows.Forms;
using Quartz;
using Quartz.Impl;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1() { InitializeComponent(); }
IScheduler scheduler;
protected override void OnLoad(EventArgs e)
{
ISchedulerFactory schedFact = new StdSchedulerFactory();
scheduler = schedFact.GetScheduler();
scheduler.Start();
JobDetail jobDetail = new JobDetail("SampleJob", null, typeof(SampleJob));
Trigger trigger = TriggerUtils.MakeSecondlyTrigger(5); //Run every 5 seconds
trigger.StartTimeUtc = DateTime.UtcNow;
trigger.Name = "SampleJobTrigger";
scheduler.ScheduleJob(jobDetail, trigger);
base.OnLoad(e);
}
protected override void OnClosing(CancelEventArgs e)
{
scheduler.Shutdown(false);
base.OnClosing(e);
}
}
public class SampleJob : IJob
{
public SampleJob() { }
public void Execute(JobExecutionContext context)
{
MessageBox.Show("DumbJob is executing.");
}
}
}
要了解有关 Quartz 的更多信息:
我有一个针对 .Net 2.0 的单个 winforms 项目的解决方案。我需要项目表单中的一些 quartz 功能,但我无法添加该包,因为它需要更高版本的 .Net。在这种情况下有什么解决方法吗? 编辑:也许还有另一个 .Net 2.0 的调度工具?我只需要在要求的时间执行要求的方法的功能。
您可以通过 .NET Framework 2.0 使用 Quartz 1.0。从 2.0 开始的 Quartz 版本不能与 .NET Framework 2.0 一起使用,并且依赖于 .NET 3.5 的某些功能,而更高版本则依赖于 .Net 4.0。
要在 .NET 2.0 项目中使用 Quartz:
- 下载
Quartz 1.0
(or 1.0.1 or 1.0.2 or 1.0.3) - 从
bin.0\Release\Quartz
路径,添加对Quartz.dll
和Common.Logging.dll
的引用。 - 像这样写一个示例计划作业:
using System;
using System.ComponentModel;
using System.Windows.Forms;
using Quartz;
using Quartz.Impl;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1() { InitializeComponent(); }
IScheduler scheduler;
protected override void OnLoad(EventArgs e)
{
ISchedulerFactory schedFact = new StdSchedulerFactory();
scheduler = schedFact.GetScheduler();
scheduler.Start();
JobDetail jobDetail = new JobDetail("SampleJob", null, typeof(SampleJob));
Trigger trigger = TriggerUtils.MakeSecondlyTrigger(5); //Run every 5 seconds
trigger.StartTimeUtc = DateTime.UtcNow;
trigger.Name = "SampleJobTrigger";
scheduler.ScheduleJob(jobDetail, trigger);
base.OnLoad(e);
}
protected override void OnClosing(CancelEventArgs e)
{
scheduler.Shutdown(false);
base.OnClosing(e);
}
}
public class SampleJob : IJob
{
public SampleJob() { }
public void Execute(JobExecutionContext context)
{
MessageBox.Show("DumbJob is executing.");
}
}
}
要了解有关 Quartz 的更多信息: