【问题标题】:C# Aperiodic Event GenerationC# 非周期性事件生成
【发布时间】:2010-01-19 21:27:00
【问题描述】:

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

【问题讨论】:

  • 我一直把它读作“C# Aphrodisiac Event Generation”:-P

标签: c# winforms events alerts


【解决方案1】:

你应该看看Quartz.NET

来自Features of Quartz.Net

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

【讨论】:

  • 我需要在我的应用程序中用 C# 实现它,其他独立或任何其他类型的系统都无法工作......
  • Quartz.NET 也可以在您的应用程序中运行,因为它是一个用于调度的库。
【解决方案2】:

在数据库中获取下一次约会的日期/时间,从该 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));
    }
}

【讨论】:

    【解决方案3】:

    Timer Class

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多