使用ASP.NET C#在任务计划程序中运行特定任务

时间:2015-06-14 07:24:50

标签: c# asp.net scheduled-tasks

我在ASP.Net Web应用程序中有一个按钮。我希望此按钮在任务计划程序中调用任务。我没有找到任何可以从任务调度程序调用任务的确切代码。请帮助...... !!!

2 个答案:

答案 0 :(得分:1)

查看此库的文档。它是Windows Task Scheduler的包装器。

http://taskscheduler.codeplex.com

是Task Scheduler Windows API的包装器 https://msdn.microsoft.com/en-us/library/windows/desktop/aa383614(v=vs.85).aspx

使用此包装器,您可以使用此类代码轻松地与任务调度程序进行交互

using (TaskService ts = new TaskService())
{
  Task t = ts.GetTask(taskName);
  if (t != null)
  {
      // get status here or get runtime
      var isEnabled = t.Enabled;
      var runs = t.GetRunTimes(startDate,endDate);
  }
}

现在您应该记住,在阻止ASP.NET请求处理周期时,无法轮询任务的状态。您可以做的最好的事情是检查Ajax调用中的状态,直到任务完成。

同时为此目的重新评估您的设计和任务调度程序的适用性。在允许访问任务调度程序的同时保护您的网站可能是一项挑战。 另一个选项是您开发的Windows服务并运行Web应用程序的请求任务。这对我来说一直都很完美。客户端可以是ASP.NET AJAX或JavaScript,通过Web API获取任务的状态

答案 1 :(得分:0)