2012-03-05 69 views
1

我正在尋找最有效和最健壯的方式來處理ASP.NET MVC 3應用程序中計劃任務的大量(100到300)的建議。如何處理100的計劃任務使用ASP.NET MVC 3?

基本上用戶可以創建一個帳戶,並可以創建多個任務,每週或每天在指定時間運行一次。目前這項任務正在進行的是無關緊要的事情,但我們只是爲了爭辯而說這是一個預定的推特系統。

這些任務中的每一個都將存儲在數據庫中,但可能有數十個或數百個全部同時在一天內觸發。

在過去,我已經使用服務器上的「任務計劃程序」以一致且穩健的方式觸發任務,當我說5到10個任務正在運行時,但現在它將進入100年代我正在尋找對於如何處理這種系統的一些堅實的建議,僅僅使用ASP.NET MVC 3,因爲我不能依賴任務調度器了。 任何意見和建議非常感謝。

回答

3

我認爲最好的是創建一個windows服務來處理這個問題。通過這種方式,它獨立於Web應用程序(畢竟主要是用戶界面)。

如果你在一個共享的主機(所以你不能訪問安裝Windows服務),那麼一切調度相關(使用像quartz.net或定製解決方案庫)我認爲這是最好的包裝一個單例實例,可能存儲在一個靜態變量中。