我在ASP.NET MVC 4中编写了一个简单的应用程序。我已经研究过我的问题,但没有任何结果。连续检查时间
我需要的是基本的东西。我在数据库中收到了有截止日期的事件。截止日期结束后,如何让申请标记为已完成?我想,应用程序应该始终检查每个截止日期,当时间与截止日期匹配时,它会更改事件的状态。
我不是要求一个解决方案或任何东西,只是点头,我应该去哪个方向或我应该看看。
我在ASP.NET MVC 4中编写了一个简单的应用程序。我已经研究过我的问题,但没有任何结果。连续检查时间
我需要的是基本的东西。我在数据库中收到了有截止日期的事件。截止日期结束后,如何让申请标记为已完成?我想,应用程序应该始终检查每个截止日期,当时间与截止日期匹配时,它会更改事件的状态。
我不是要求一个解决方案或任何东西,只是点头,我应该去哪个方向或我应该看看。
有几个解决方案:
1)如果你有机会到所在的服务器应用程序托管 - 您可以创建Windows服务,将检查事件的状态
2)您可以创建MVC计时器作业 - 检查了这一点:ASP .NET MVC - Should I run a background timer
3)我不确定,因为我不是SQL Pro - 但我相信它可以在数据库端做到这一点。
谢谢,这正是我一直在寻找的! – faso
@ArthurFromLatvia#3最有意义。 #1有用处,但似乎在这里矫枉过正。和#2 ......不应该这样做......这是#1的目的。 – MikeSmithDev
@MikeSmithDev感谢您的澄清! – faso
另一种方法是在您从数据库中读取数据时生成状态。例如。例如:
SELECT
...
CASE WHEN GETUTCDATE() < DeadLineUtc AND Status = "ACTIVE" THEN "EXPIRED"
ELSE Status
END AS Status
...
FROM ...
为什么你甚至需要更改事件状态?截止日期*是*状态/标准。从你列出的内容来看,没有太多理由需要检查状态,而不是仅仅检查截止日期。如果你仍然需要地位,那可能是其他的事情。所以也许有时你需要检查状态和截止日期。 – MikeSmithDev
是的,我需要许多其他的东西的地位。我只是将我的问题简化为最低限度的信息 – faso