C#非周期事件生成

C#非周期事件生成,c#,winforms,events,alerts,C#,Winforms,Events,Alerts,我的数据库中有一个事件“约会”列表,如下午3:00等,它们有不规则的间隔,如15分钟后、30分钟后和25分钟后。一种方法是,我运行一个线程/计时器,每分钟检查数据库是否是下一次约会的时间。。我想要一些其他机制,通过这些机制,我可以在数据库中的下一个保存的时间触发警报/事件/操作。。。怎么做 你应该看看 从: Quartz.NET可以嵌入到另一个独立的应用程序中运行 提供用于执行 方法在指定的时间间隔。这 类不能被继承 获取数据库中下一次约会的日期/时间,从该日期时间中减去。现在,为了获得时间跨

我的数据库中有一个事件“约会”列表,如下午3:00等,它们有不规则的间隔,如15分钟后、30分钟后和25分钟后。一种方法是,我运行一个线程/计时器,每分钟检查数据库是否是下一次约会的时间。。我想要一些其他机制,通过这些机制,我可以在数据库中的下一个保存的时间触发警报/事件/操作。。。怎么做

你应该看看

从:

Quartz.NET可以嵌入到另一个独立的应用程序中运行

提供用于执行 方法在指定的时间间隔。这 类不能被继承


获取数据库中下一次约会的日期/时间,从该日期时间中减去。现在,为了获得时间跨度,然后使用该时间跨度触发计时器一次,类似于:

class MainClass
{
    public static void FireTimerAt(DateTime next)
    {
        TimeSpan waitTime = next - DateTime.Now;

        new Timer(delegate(object s) {
                        Console.WriteLine("{0} : {1}",
                        DateTime.Now.ToString("HH:mm:ss.ffff"), s);
                    }
              , null, waitTime, new TimeSpan(-1));
    }
}

我需要在C#中实现它,而在我的应用程序中,其他独立或任何其他类型的系统都无法工作…Quartz.NET也可以在您的应用程序中运行,因为它是一个用于调度的库。我一直将此读作“C#春药事件生成”:-P