每周一ASP.NET自动触发动作

时间:2015-12-11 10:46:33

标签: asp.net-mvc-4 scheduled-tasks

我正在使用ASP.NET MVC4实现一个系统。我有一个名为' UpdateStatus'的动作。我想在每个星期一反复运行这个动作。我可以在没有任何用户互动的情况下这样做吗?

我的控制器:

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
}

请帮忙!非常感谢......

1 个答案:

答案 0 :(得分:2)

这个答案是非mvc,所以可能不是你想要的,但它可以与你的mvc代码一起工作。对我来说,按计划运行代码的最佳方法是使用Windows“任务计划程序”。您可以获得运行时的日志,成功完成的日志以及轻松执行临时运行的能力。

要执行此操作,您需要将UpdateStatus中的代码(及其依赖项)添加到“控制台应用程序”类型的项目中。您将能够将其部署到您的服务器并使用Windows“任务计划程序”将其作为计划任务运行。如果您在this superuser answer之前没有使用预定任务应该提供帮助。您可以添加命令行参数或互斥锁,以便在需要时只运行一个实例,但听起来您可能不需要这些实例。