使用 ASP.NET C# 在任务计划程序中运行特定任务
本文关键字:任务 运行 程序 计划 NET 使用 ASP | 更新日期: 2023-09-27 17:56:10
我在 ASP.Net Web应用程序中有一个按钮。我希望此按钮在任务计划程序中调用任务。我没有找到任何确切的代码来从任务计划程序调用任务。请帮忙....!!
查看此库的文档。它是Windows任务计划程序的包装器。
http://taskscheduler.codeplex.com
这是任务计划程序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 调用中的状态,直到任务完成。
同时,重新评估您的设计和任务计划程序是否适合此目的。在允许访问任务计划程序的同时保护您的网站可能是一个挑战。另一个选项是您为 Web 应用程序开发和运行请求任务的 Windows 服务。这对我来说一直很有效。客户端可以 ASP.NET AJAX 或 JavaScript 通过 Web API 获取任务的状态
下面是一个 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