Ich verwende den Taskplaner-gesteuerten Wrapper, um geplante Aufgaben von einem externen Programm (SharePoint) zu erstellen. Das Erstellen und Lesen der Aufgaben ist in Ordnung, aber ich finde keine Möglichkeit, die Aufgabe zu bearbeiten, sobald sie registriert wurde. muss ich eine neue Aufgabe erneut registrieren oder eine Update-Anfrage durchführen?Bearbeitung von Taskplaner-Aufgaben C#
meine Aufgabe registrieren:
TaskDefinition newTask = taskService.NewTask();
newTask.RegistrationInfo.Description = (string)timerJobItem.FieldValues["Description"];
newTask.Principal.LogonType = TaskLogonType.InteractiveToken;
// Switch for different schedule options, use createTriggers method
List<Trigger> triggers = createTriggers((string)timerJobItem["Schedule"], (DateTime)timerJobItem["StartTime"]);
newTask.Triggers.Add(triggers.First());
// Create Action to add to new Task
newTask.Actions.Add(new ExecAction((string)timerJobItem["Action"], (string)timerJobItem["Arguments"], null));
// Create Task
taskService.RootFolder.RegisterTaskDefinition(jobName, newTask);
Dann habe ich die Aufgabe in den Planer finden, die funktioniert, aber wenn ich versuche, nichts zu machen Änderungen passiert:
// Method to get all Tasks that match a name - Working
private Task[] GetAllTasks(string regexString)
{
Regex regex = new Regex(String.Format(@"{0}", regexString));
using (TaskService taskService = new TaskService())
{
Task[] allTasksCollection = taskService.FindAllTasks(regex, true);
foreach (Task task in allTasksCollection)
{
Console.WriteLine(task.Name);
}
return allTasksCollection;
};
}
....
// Get a single timer job
Task[] allTimerJobs = GetAllTasks(prefix);
List<Task> allTimerJobsList = allTimerJobs.Cast<Task>().ToList();
string jobName = String.Format("{0}[{1}].{2}", prefix, (int)timerJobItem["ID"], jobReference);
// Get Task by name
int indexOfJob = allTimerJobsList.FindIndex(t => t.Name == jobName);
Task matchingJob = allTimerJobsList[indexOfJob];
// No Error but nothing happens to task
matchingJob.Definition.Triggers.Clear();
// No Error but nothing happens to task
matchingJob.Definition.Settings.Enabled = false;
TIA