Pour résumé rapidement, ce sont des tâches qui s'éxecutent en arrière plan.
Il existent 2 sortes de tâches :
Lorsqu'on intègre les agents dans un projet, il est utile de pouvoir les tester sans attendre les contraintes de cycles dit précédemment.
Depuis la bétâ 2 du SDK, une nouvelle méthode à fait son apparition LaunchForTes(string,TimeSpan).
Elle permet de forcer l'exécution d'une tâche en spécifiant un delai.
Pour l'utiliser rien de plus simple :
private static void CreateTileTask()
{
try{
//Création de l'agent
PeriodicTask periodicTask = new PeriodicTask("TileAgent");
periodicTask.Description = "Periodic agent to update tile";
periodicTask.ExpirationTime = System.DateTime.Now.AddDays(1);
//Supprimer l'agent si il existe déjà
if (ScheduledActionService.Find("TileAgent") != null)
{
ScheduledActionService.Remove("TileAgent");
}
ScheduledActionService.Add(periodicTask);
//Force l'exécution, à n'utiliser qu'en debug
ScheduledActionService.LaunchForTest("TileAgent", TimeSpan.FromMilliseconds(1500));
}
catch(InvalidOperationException ex){}
}
PS : Il est important d'entourer le traitement par un try/catch car si l'utilisateur désactive l'agent, l'application renverra une exception du type BNS Error: The action is disabled !
derniers tweets