2014-01-11 60 views
0

我在ASP.NET MVC 4中编写了一个简单的应用程序。我已经研究过我的问题,但没有任何结果。连续检查时间

我需要的是基本的东西。我在数据库中收到了有截止日期的事件。截止日期结束后,如何让申请标记为已完成?我想,应用程序应该始终检查每个截止日期,当时间与截止日期匹配时,它会更改事件的状态。

我不是要求一个解决方案或任何东西,只是点头,我应该去哪个方向或我应该看看。

+0

为什么你甚至需要更改事件状态?截止日期*是*状态/标准。从你列出的内容来看,没有太多理由需要检查状态,而不是仅仅检查截止日期。如果你仍然需要地位,那可能是其他的事情。所以也许有时你需要检查状态和截止日期。 – MikeSmithDev

+0

是的,我需要许多其他的东西的地位。我只是将我的问题简化为最低限度的信息 – faso

回答

0

有几个解决方案:

1)如果你有机会到所在的服务器应用程序托管 - 您可以创建Windows服务,将检查事件的状态

2)您可以创建MVC计时器作业 - 检查了这一点:ASP .NET MVC - Should I run a background timer

3)我不确定,因为我不是SQL Pro - 但我相信它可以在数据库端做到这一点。

+0

谢谢,这正是我一直在寻找的! – faso

+0

@ArthurFromLatvia#3最有意义。 #1有用处,但似乎在这里矫枉过正。和#2 ......不应该这样做......这是#1的目的。 – MikeSmithDev

+0

@MikeSmithDev感谢您的澄清! – faso

0

另一种方法是在您从数据库中读取数据时生成状态。例如。例如:

SELECT 
... 
CASE WHEN GETUTCDATE() < DeadLineUtc AND Status = "ACTIVE" THEN "EXPIRED" 
ELSE Status 
END AS Status 
... 
FROM ...