c# - 如何在控制台应用程序中使用 Quartz.net [显示错误]?

标签 c# asp.net scheduling quartz.net

<分区>

我正在使用 Quartz.Net 来安排任务。我已经试过了。

启动了一个 visual studio 控制台应用程序并添加了两个引用,即 Quartz.dll 和 Common.Logging.dll 以及 System.Web.Services;

然后我为链接 http://simplequartzschedulerincsharp.blogspot.com/ 上提供的正常任务编写了一些代码 (他们声称它有效)

但是当我尝试运行该程序时,它给出了“缺少对 Quartz.all 的引用”的错误,但我已经添加了它。

为什么会这样?

我还在某处注意到需要安装 Quartz.Server.Service 才能使用它等等。

请指导我并告诉我一个简单但有效的示例和我缺少的要点?

最佳答案

网站上的示例可能已过时。

我对使用的类做了一些修改,现在它运行了:

using System;
using Quartz;
using Quartz.Impl;
using Quartz.Impl.Triggers;
// Necessary references:
// Quartz dll
// Common.Logging
// System.Web
// System.Web.Services

namespace QuartzExample
{
    class Program
    {
        private static IScheduler _scheduler;

        static void Main(string[] args)
        {
            ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
            _scheduler = schedulerFactory.GetScheduler();
            _scheduler.Start();
            Console.WriteLine("Starting Scheduler");

            AddJob();
        }

        public static void AddJob()
        {
            IMyJob myJob = new MyJob(); //This Constructor needs to be parameterless
            JobDetailImpl jobDetail = new JobDetailImpl("Job1", "Group1", myJob.GetType());
            CronTriggerImpl trigger = new CronTriggerImpl("Trigger1", "Group1", "0 * 8-17 * * ?"); //run every minute between the hours of 8am and 5pm
            _scheduler.ScheduleJob(jobDetail, trigger);
            DateTimeOffset? nextFireTime = trigger.GetNextFireTimeUtc();
            Console.WriteLine("Next Fire Time:" + nextFireTime.Value);
        }
    }

    internal class MyJob : IMyJob
    {
        public void Execute(IJobExecutionContext context)
        {
            Console.WriteLine("In MyJob class");
            DoMoreWork();
        }

        public void DoMoreWork()
        {
            Console.WriteLine("Do More Work");
        }
    }

    internal interface IMyJob : IJob
    {
    }
}

关于c# - 如何在控制台应用程序中使用 Quartz.net [显示错误]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8882143/

相关文章:

css - 如何覆盖其他CSS类在CSS类中给出的宽度

asp.net - 您在运行 ASP.NET 的 Web 场中使用什么进行分布式缓存?

android - 也以编程方式更改应用程序通知状态优先级

c# - Unity IoC InjectionFactory不遵守DependencyOverride

c# - 如何在 RestSharp 中使用 ExecuteAsync 返回变量

c# - 如何找到类型的接口(interface)继承层次结构?

asp.net - 没有 Response.Redirect 调用的 System.Threading.ThreadAbortException

C# 类型比较

algorithm - 为成对工作的人安排轮类

c - Round Robin Scheduling With Arrival Time(等待队列的概念)