2011-06-14 83 views
1

,做什麼我建立使用MVC3 .NETMVC的.NET Web應用程序每週

的應用程序應該以某種方式繼續爲每個用戶每週待辦事項列表的Web應用程序。在星期五,所有待辦事項列表必須重置。

有人可以幫忙。

感謝

回答

1

如果這是一些數據庫級任務,那麼可能是一個預定任務(或nix上的crontab)。 MVC不需要這樣做。如果你真的需要,計劃任務可能只是在網站上點擊一條路線。

但是,我個人簡單地用一個星期數(或開始日期)對數據進行分區,這樣當我得到數據時,我得到了開始一週的數據(你的日期) 。然後:

  1. 沒有什麼可以做的
  2. 您可以訪問歷史,需要

即添加StartDate(或相似)在你現有的存儲列,並用它來選擇最及時的數據。你打電話關於「我需要上週的數據」 - 你可能從一開始就建立它。此外......如果週五沒有完成,這並不意味着它不再存在...

2

你可以看看Quartz.NET。這就是說,由Web應用程序處理預定作業的罪魁禍首是Web服務器可能會在某些情況下卸載此ASP.NET應用程序(內存或CPU閾值被擊中,應用程序很久沒有使用,... )。出於這個原因,建議開發一個獨立的進程來執行這些任務。這個過程可以託管在例如保證隨時運行的Windows服務中。

另一種可能性是簡單地使用Windows調度程序,以便每週啓動一些定製的可執行文件,這將執行必要的任務。

+0

您可能還會發現[this](http://asmiki.com/2011/05/25/using-quartz-net-enterprise-scheduler-to-schedule-jobs-in-asp-net-mvc-application /)鏈接有幫助。 – wooncherk 2011-06-14 09:08:15

1

你期望應用程序始終處於運行狀態嗎?如果沒有人在週四和週五的午夜之間使用它,該怎麼辦?你怎麼能執行這些工作?

一般而言,由於Web應用程序在任何給定時間都沒有確定運行,所以不能依賴Web應用程序內部的定時器。

我認爲在這種情況下,最佳的解決方案將可以創建,這將在服務器上安裝並按照定義始終運行Windows服務......有點像一次又一次重塑同樣的事情...

或者你也可以在Windows中設置一個計劃任務來調用你的Web應用程序,每個星期五創建一個特定頁面的請求,然後Web應用程序被調用一些參數,你可以做你需要的。