2011-09-05 114 views
2

我有一個需要調度任務的asp.net MVC web應用程序。 (預定了大量功能)
我正在使用Quartz.net作爲我的調度程序,並且當前正在將其作爲Windows服務運行。 集羣來處理負載和執行資源密集型任務在非高峯時間什麼是在asp.net中實現調度的最佳方式MVC

我面臨的問題是要能夠安排所有需要的功能,我必須包括所有的調度服務,包括所有的組件和大多數的MVC (例如,使用MVC視圖來生成電子郵件提醒模板),這樣服務就會成爲Web應用程序的重複,並帶有許多額外的代碼以使其發揮出色。這變成了一場噩夢。

那麼我可以嗎?

1)配置調度程序在asp.Net MVC中工作。

2)使用調用所需網頁的Widows服務。

3)使用當前的服務設計。

我的偏好可能是#1,因爲這將解決上述所有問題,但在Web App將得到回收/停止,如果有一段時間沒有活動,這意味着,預定作業不(僅執行如果在工作應該運行的時候有一些活動)。 Quartz.net setup in an asp.net website

任何想法/建議哪個是最好的方法或任何替代品?

+0

檢查在線服務在onlinecronservices.com – Kizz

回答

3

我一定會避免選項1.你的網站應該是請求和響應,沒有更多。

如果您的服務執行的操作不是「長時間運行」,並且可以作爲HTTP請求的請求/響應週期的一部分合理執行,則選項2是合理的。這應該是一個真正的Web服務而不是網頁調用,然而(這在OpenRasta中更容易實現,它不會區分網站和Web服務)。

如果您的計劃操作是密集/長時間運行,那麼應該在網站之外完成,您當前的架構可能沒問題。程序集的複製不是一個真正的問題(磁盤空間很便宜)。

+0

感謝您的回覆,它不只是複製程序集,它的緩存和一大堆不需要的代碼 – rqmedes

+1

在這種情況下,問題更可能出現在程序集的組織中。我可能會考慮重新組織這些組件,這樣可以有效地重複使用這些通用部件,而不會帶來太多的行李。 –

+0

單獨爲第一句話+1。 MVC應用程序沒有業務運行計劃任務。 –

相關問題