IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[ASP .NET 1.1][C#] Thread et Page_Load()


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut [ASP .NET 1.1][C#] Thread et Page_Load()
    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

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Par défaut
    Je ne crois pas que c'est possible de faire ce que tu veux de ta façon. Or, le serveur ASP.NET génère une page HTML à chaque demande du client et l'envoie à celui-ci par la suite. À chaque page, il exécute les événements d'initialisation de la page (Init, Load, Render, etc.) pour générer le code HTML présenté. Donc, il est normal qu'il attend d'avoir finit le traitement avant d'envoyer la page au client.

    Ce que tu veux faire peut très bien être réalisé avec le principe AJAX. L'objet XMLHTTPRequest enverrait une requête HTTP à une autre page qui ferait le traitement et renverrait un résultat. Bien sûr, si tu n'es pas familié avec l'AJAX, je te conseillerais d'étudier un peu le Javascript et d'aller consulter les liens utiles ici.

    Voilà

  3. #3
    Membre éclairé Avatar de gdkenny
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 251
    Par défaut
    Salut,

    Avant l'ajax, je te conseillerais de te familiariser avec le cycle de vie des pages en .NET.
    Tu trouvera des tutoriels et explication sur msdn, dans ce forum et sur google

Discussions similaires

  1. lancer un autre thread depuis une page ASP.net
    Par Arthis dans le forum ASP.NET
    Réponses: 9
    Dernier message: 11/12/2009, 14h24
  2. ASP.NET, javascript et page_load
    Par blasme dans le forum SharePoint
    Réponses: 3
    Dernier message: 17/04/2009, 09h25
  3. ASP.NET et Thread
    Par loicbar dans le forum ASP.NET
    Réponses: 3
    Dernier message: 26/07/2007, 08h25
  4. Asp.net Page_load probleme
    Par pdumon dans le forum ASP.NET
    Réponses: 3
    Dernier message: 16/05/2007, 15h24
  5. ASP.NET + opendialog erreur exeption thread
    Par bibifoc dans le forum ASP.NET
    Réponses: 1
    Dernier message: 22/01/2007, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo