这里是用例: – 创build一个新的胜利任务,立即运行,一旦完成,删除任务。
这里是使用C#创build任务的基本代码。
using (TaskService ts = new TaskService(null)) { string projectName = "runnowtest" + Guid.NewGuid().ToString(); //create new task TaskDefinition td = ts.NewTask(); Trigger mt = null; //setup task as Registration trigger mt = td.Triggers.AddNew(TaskTriggerType.Registration); mt.StartBoundary = DateTime.Now; //delete the task 1 minute after the program ends td.Settings.DeleteExpiredTaskAfter = new TimeSpan(0, 1, 0); //run the notepad++ in the task td.Actions.Add(new ExecAction("notepad.exe")); //register task Task output = ts.RootFolder.RegisterTaskDefinition(projectName, td); //check output Console.WriteLine(output != null ? "Task created" : "Task not created"); }
该API似乎没有一个属性/标志将任务标记为运行一次。 我试图确保上述任务只运行一次,然后立即删除。 任何想法都非常感谢!
我知道它的老,但供参考…要使用DeleteExpiredTaskAfter你需要给予触发EndBoundary:
var trigger = new RegistrationTrigger{Delay = TimeSpan.FromSeconds(5), EndBoundary = DateTime.Now.Add(TimeSpan.FromSeconds(50))};
您可以设置任务XML定义来设置所有不直接由API公开的东西。