2012-07-23 114 views
0

我有一個web應用程序,我需要一個特定的進程在後臺運行(所有的時間)和不時更新數據庫。什麼是最好的方式來做到這一點?用方法創建一個控制器並在後臺線程中運行它?還有其他選擇嗎?在後臺進程

+0

Windows服務? – Anuraj 2012-07-23 11:37:46

+3

只是保持它與MVC(和IIS)分開 – 2012-07-23 11:38:50

+0

如果您的解決方案包含SQL Server,則可以使用SQL Agent。你的MVC應用程序將是獨立的。 – 2012-07-23 11:42:47

回答

6

最好的辦法是創建一個單獨的應用程序,您可以將其作爲Windows服務運行,或者如果它只是定期更新,則可以創建預定任務。

使用計劃任務的好處是您不必編寫計劃程序代碼 - 它都是由操作系統爲您處理的。您的應用程序只包含更新數據庫所需的代碼。

通過完全脫離它的Web應用程序,它使它更加安全和易於維護(您可以獨立更新Web應用程序或服務)。

+0

我需要一個特殊的計算機\操作系統的Windows服務? – TamarG 2012-07-23 12:57:03

+0

@tamarg - no。 Windows服務可以在任何Windows操作系統上運行。雖然預定任務可能是更好的選擇 - 取決於如何觸發數據庫更新。 – ChrisF 2012-07-23 12:58:21