Tâche de fond d’un site web
La tâche de fond d’un site permet de lancer une tâche qui s’exécute en parallèle de l’exécution d’un site.
Attention cependant, la tâche de fond ne s’exécutera pas si le pool de l’application est en veille (par défaut après 20 minutes d’inactivité sur le pool).
Comment mettre en place une tâche de fond récurrente ?
Pour exécuter une tâche de fond classique, il suffit d’utiliser les Thread ou les backgroundWorkers.
Pour exécuter une tâche récurrente, nous allons nous appuyer sur la classe « ThreadCron » ci-jointe.
Il faut donc ajouter cette classe dans le répertoire App_Code de votre projet Web.
Nous allons maintenant déclarer notre tâche récurrente afin qu’elle commence à se lancer au lancement de l’application.
Pour cela, dans le fichier « global.asax » de votre site, ajouter le code suivant :
void Application_Start(object sender, EventArgs e) { // Code qui s'exécute au démarrage de l'application // tâche de fond qui s’exécute toutes les 3600 secondes ThreadCron oMaTache = new ThreadCron(TacheAExecuter, null, 3600); } // tâche à exécuter private void TacheAExecuter (Object state) { // code à executer à completer ici }
La fonction « TacheAExecuter » s’exécutera selon la période indiquée (dans l’exemple ci-dessus toutes les heures).