检查asp.net mvc中是否已经过了x个月

时间:2015-05-13 02:46:51

标签: c# asp.net asp.net-mvc

我有一个预算编制应用程序,可以设置n个月的预算,如果n个月过去,应用程序如何知道并取消预算? mvc如何自动检查?

3 个答案:

答案 0 :(得分:3)

史蒂夫上面的答案就是这样做的一个简单例子。如果您想自动创建它,您应该将其放在某些服务上,并从调度程序或某些服务(如HangfireQuartz)调用它。

(DateTime.Now - StartDate)

如果此验证与发送电子邮件通知等有关,我更喜欢从数据库中检查它并创建一个SQL作业,以便每天或在您认为适合的任何时候运行它。

答案 1 :(得分:1)

假设您要保存预算开始的日期:

  

(DateTime.Now - StartDate)

将以Timespan为您提供结果,您可以从中获得多种格式的时间。

答案 2 :(得分:0)

您可以在服务器上异步使用Timers类。这意味着该服务需要保持x个月。您最好的选择很可能是保持结束日期并触发计时器在该日期条件为真时调用函数。

//Timer set to run every 20 seconds    
Timer = new System.Timers.Timer(20000);
            //Timer set to run every 20 seconds
            Timer.Elapsed += SendTimerElapsed;
            Timer.Start();

以下是一个例子:

 class Program
{
    static void Main(string[] args)
    { 
        Timer t = new System.Timers.Timer(1000);
        t.Elapsed += Hitme;
        t.Start();
        Console.ReadLine();
    }

    private static void Hitme(object sender, ElapsedEventArgs e)
    {
        Console.WriteLine("Ouch");
    }
}