2014-01-11 92 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 ...