我有一个预算编制应用程序,可以设置n个月的预算,如果n个月过去,应用程序如何知道并取消预算? mvc如何自动检查?
答案 0 :(得分:3)
史蒂夫上面的答案就是这样做的一个简单例子。如果您想自动创建它,您应该将其放在某些服务上,并从调度程序或某些服务(如Hangfire或Quartz)调用它。
(DateTime.Now - StartDate)
如果此验证与发送电子邮件通知等有关,我更喜欢从数据库中检查它并创建一个SQL作业,以便每天或在您认为适合的任何时候运行它。
答案 1 :(得分:1)
答案 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");
}
}