2015-12-11 56 views
0

我正在實現一個使用ASP.NET MVC4的系統。我有一個名爲'UpdateStatus'的動作。我想在每個星期一重複執行此操作。我可以在沒有任何用戶交互的情況下執每週一自動開火動作ASP.NET

我位指示:

using PagedList; 
using System; 
using System.Collections.Generic; 
using System.Configuration; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 

public ActionResult UpdateStatus() 
{ 
    //some action here 
} 

請幫助非常感謝......

+0

討論了幾個選項[here](http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspx) –

+0

查看Revalee:http://revalee.sageanalytic.com/ –

回答

2

這個答案是不MVC,所以可能不是你想要的,但它可以靠你的MVC代碼工作! 。對我而言,按計劃運行代碼的最佳方式是使用Windows「Task Scheduler」。您可以獲得運行時間,成功完成以及輕鬆進行臨時運行的日誌。

爲此,您需要將UpdateStatus(及其依賴關係)中的代碼添加到「控制檯應用程序」類型的項目中。您可以將其部署到您的服務器並使用Windows「任務計劃程序」作爲計劃任務運行。如果您在this superuser answer應該幫助之前沒有使用計劃任務。您可以添加命令行參數或互斥鎖,以便只需要一個實例即可運行,但聽起來您可能不需要這些參數。