C# 非周期性事件生成

发布于 2024-08-18 09:36:54 字数 167 浏览 5 评论 0原文

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

i have a list of events "Appointments" in my database, like at 3:00pm etc, and they have irregular intervals like one after 15 mins and next after 30 mins and next after 25 mins. One way is that i run a thread/timer that checks the database every minute whether it is the minute of next appointment or not.. i want some other mechanism by which i can trigger an alert/event/action on the next saved time that is in my database... how to do it...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

少女七分熟 2024-08-25 09:36:54

您应该查看 Quartz.NET

来自 Quartz.Net 的功能

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

You should take a look at Quartz.NET.

From the Features of Quartz.Net:

Quartz.NET can run embedded within another free standing application

开始看清了 2024-08-25 09:36:54

获取数据库中下一个约会的日期/时间,从 DateTime.Now 中减去以获得 TimeSpan,然后使用该时间跨度触发计时器一次,类似于:

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));
    }
}

Get the date/time of the next appointment in the database, subtract from that DateTime.Now in order to get a TimeSpan, and then use that timespan to fire the timer once, similar to this:

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));
    }
}
我最亲爱的 2024-08-25 09:36:54

计时器类

提供了一种执行机制
方法以指定的时间间隔。这
类不能被继承。

Timer Class

Provides a mechanism for executing a
method at specified intervals. This
class cannot be inherited.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文