Application console - réception des évènements trop tardive
Bonjour à tous,
Je me questionne sur la durée de vie d'une application console.
Dans program.cs j'ai le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
private static void Main(string[] args)
{
// -- Récupération de la tâche depuis le controler
// -----------------------------------------------
GTMTaskController gtmTaskController = new GTMTaskController(Environment.GetCommandLineArgs());
GTMTask gtmTask = gtmTaskController.getTask();
gtmTask.GtmTaskOption = GTMToolsConfiguration.GtmTaskOption;
gtmTask.OnTaskStarted += gtmTask_OnTaskStarted;
gtmTask.OnTaskFinished += gtmTask_OnTaskFinished;
gtmTask.onTaskProgress += gtmTask_OnTaskProgress;
gtmTask.OnTaskError += gtmTask_OnTaskError;
// -- Démarrage de la tâche
// ------------------------
gtmTask.runBase();
while (bIsRunning)
Thread.Sleep(1000);
} |
Ma fonction "RunBase" peut prendre du temps, et lorsqu'elle se termine retourne l'évènement "gtmTask_OnTaskFinished".
Quand je lance le traitement, ma tâche s'exécute convenablement. Par contre, parfois, de manière aléatoire j'ai l'impression de ne pas aller dans l'évènement "gtmTask_OnTaskFinished".
Du coup j'ai mis une boucle while à la fin du main. La variable "bIsRunning" se met à false lorsque je rentre dans l'évènement "gtmTask_OnTaskFinished".
Une idée ?