Bonjour,
J'ai un petit problème de thread que j'espère quelqu'un ici a déjà rencontré.
J'ai déjà rencontré un problème similaire de lancement du page_load() via un thread et à l'époque j'avais abandonné... Le problème me paraît pourtant simple mais j'avoue que je tourne de nouveau en rond
L'idée de base et que l'utilisateur clique sur un bouton, refresh de la page, affichage d'un message "Patientez", lancement d'un thread effectuant un gros traitement, fin du traitement, refresh de la page - affichage d'un message continuer.
Pour cela j'utilise un thread simple dans mon code que voici (en très gros):
PageLoad()
{
if (IsFinished == true)
Message = "continuer";
}
private void button_click_Event(...)
{
Message = "Patientez...";
Thread newThread = new Thread(new ThreadStart("Fonctiondethread"));
newThread.Start();
newThread.Join();
//refresh page;
}
private Fonctiondethread()
{
// Gros traitement
IsFinished = true;
}
Le processus s'effectue bien, le seul problème que j'ai est que le message "Patientez..." ne s'affiche jamais car effectivement, la page est rafraîchie avant même d'être affichée, et du coup mon thread ne sert à rien puisque je ne dis pas à l'utilisateur qu'il doit attendre...
J'ai essayé de placer le refresh de la page dans la fonction "Fonctiondethread" et j'ai une jolie ConfigurationException qui doit être plutôt normale...
Les aides que j'ai trouvées sur le net concernent la plupart du temps des applications non web et n'abordent jamais le problème spécifique de l'affichage avant et après thread...
Si vous avez rien qu'une petite idée sur la question, merci de votre aide![]()
Partager