C# 在asp.net mvc中检查x个月是否已过去
我有一个预算应用程序,它设置了n个月的预算。该应用程序如何知道n个月是否已经过去并取消应用该预算?mvc如何自动检查?假设您正在保存预算开始日期: (DateTime.Now-StartDate)C# 在asp.net mvc中检查x个月是否已过去,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有一个预算应用程序,它设置了n个月的预算。该应用程序如何知道n个月是否已经过去并取消应用该预算?mvc如何自动检查?假设您正在保存预算开始日期: (DateTime.Now-StartDate) 将为您提供一个结果,您可以从中以多种格式获取时间。您可以在服务器上异步使用Timers类。这意味着该服务将需要维持x个月。最好的选择很可能是保留结束日期,并在该日期条件为真时触发计时器调用函数 //Timer set to run every 20 seconds Timer = new Sy
将为您提供一个结果,您可以从中以多种格式获取时间。您可以在服务器上异步使用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");
}
}
上面史蒂夫的回答就是一个简单的例子。如果您想自动创建它,您应该将它放在一些服务上,并从调度器或一些服务(如或)调用它
如果此验证与发送电子邮件通知等有关,我更喜欢从数据库中检查它,并创建一个SQL作业,以便每天或您认为合适的任何时候运行它。是否会有一个操作每天或每隔一段时间自动调用自己,以检查n个月是否已过?您可以像RLS所说的那样查看计时器,确保它是异步的,这样它就不会阻止任何其他操作的执行。或者,研究一种调度技术,这种技术将为您提供更细粒度的控制。是的,非常感谢您和其他人,我知道如何开始解决这个问题。对不起,我没有足够的声誉来回答你为什么ASP.NET MVC知道检查任何东西?你的问题毫无意义。@JohnSaunders:MVC当然不知道,这就是为什么我建议改为使用WebForms:)我不明白OP中“MVC如何自动检查?”的意思,所以应用程序应该依赖服务器端的一些本地系统调度程序,每天使用该验证方法自动检查?这是有道理的。是的,如果你想让它自动运行,这是唯一的方法。
(DateTime.Now - StartDate)