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

c# - 使用ASP.NET C#在任务计划程序中运行特定任务,第1张

我在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)

以下是MSDN链接:https://msdn.microsoft.com/en-us/library/system.threading.tasks.taskscheduler(v=vs.110).aspx

根据您的情况使用 TaskScheduler.TryExecuteTask 方法。

https://msdn.microsoft.com/en-us/library/system.threading.tasks.taskscheduler.tryexecutetask(v=vs.110).aspx

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复