我在ASP.Net Web应用程序中有一个按钮。我希望此按钮在任务计划程序中调用任务。我没有找到任何可以从任务调度程序调用任务的确切代码。请帮助...... !!!
答案 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 方法。