Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net mvc中检查x个月是否已过去_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 在asp.net mvc中检查x个月是否已过去

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

我有一个预算应用程序,它设置了n个月的预算。该应用程序如何知道n个月是否已经过去并取消应用该预算?mvc如何自动检查?

假设您正在保存预算开始日期:

(DateTime.Now-StartDate)


将为您提供一个结果,您可以从中以多种格式获取时间。

您可以在服务器上异步使用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)