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

C# Discussion :

Execution code sans attente réponse ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Par défaut Execution code sans attente réponse ?
    Bonjour, voilà mon problème :

    J'ai une méthode qui invoque une méthode d'une autre classe, cela se passe sans problèmes, mais en fait pour continuer le bout de code derriere cette appel je dois attendre qu'elle est finie, hors je voudrais pouvoir executer la suite en même temps que la méthode, voyer plutôt le bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
            public static string Affiche(Object param)
            {        
     
                // Création d'une fenetre popup type outlook
                NotifyWindow nw = new NotifyWindow(title, message);
                nw.TitleClicked += textClick;
                nw.TextClicked += textClick;
                nw.SetDimensions(115, 70);
                // Association d'une notify icon
                NotifyIcon ni = new NotifyIcon();
                ni.Text = "Notification";
                ni.Icon = Icon.ExtractAssociatedIcon(@"c:\Icon.ico");  
                ContextMenu ct = new ContextMenu();
                ct.MenuItems.Add(0, new MenuItem("Old news", Old));
                ni.ContextMenu = ct;
                ni.Visible = true;
                nw.Notify();
                //Appel de la méthode bloquante !!!!!!!!!!!!!!! <<<<<<<<<<<<
                Application.Run(nw);
                ni.Visible = false;
     
                // Création et envoi de la réponse avec le return
                Response resp = new Response();
                resp.CommandResponse = "Affichage réussi";
                resp.ResponseCode = HttpResponseCode.OK_200;
                resp.ResponseComplement = HttpResponseComplement.Default;
                return resp.SerializeAsHttpResponse("Affichage réussi","PopUpPlugin");
     
            }
    Explication : il faut que l'envoi de ma réponse faite par le return soit effectuer dès le lancement de Application.Run(nw) mais que celle ci termine son execution normalement ( elle dure 10 sec ).

    Concraitement, la réponse est envoyer a l'admin et celui-ci ne peut pas se permettre d'attednre 10 sec sur chaque poste pour savoir si l'affichage est réussi ( sachant qu'il doit gérer un parc de 1000 pc !! )

    Ma question : Comment executer une méthode qui dure 10 sec et executer le return des la 1er seconde sans que cette methode soit stoppée a cause du return ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    regardes du coté des invocations asynchrones

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    http://msdn.microsoft.com/fr-fr/library/ms228969.aspx

    Par contre dans ton cas je ne vois pas trop l'utilité du Application.Run... ça démarre une nouvelle boucle de message, ce qui n'est pas du tout nécessaire. un nw.Show() devrait suffire...

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Par défaut
    Et bien en fait je ne sais pas pourquoi nonp lus mais sans cela rien ne s'affiche !!

    Du coté de l'asynchrone j'avais essayer mais cela ne donner rien, je vais réessayer je vous tiens au courant !

    Bon après avoir réessayer quoi qu'il arrive la méthode se lance mais le return fait qu'elle s'arrête de suite ! donc même pas le temps de voir le notify.

    Il faudrait la possibilité de lancer une méthode, de faire le return mais que cette méthode continu son exécution tout de même !

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    exécute la méthode Affiche dans un autre thread alors...

  6. #6
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Par défaut
    Cela revient au même :

    Tu ouvre ton thread , tu lance la méthode qui dure 10 sec,
    tu fais ton return, ce qui provoque directement l'arret de thread creer;

    Je suis piégé !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. executer code sans bloquer l'aplication
    Par laftah71 dans le forum Access
    Réponses: 2
    Dernier message: 10/11/2006, 18h00
  2. [C# 2.0]Executer du code sans afficher de fenêtre
    Par NicolasJolet dans le forum Windows Forms
    Réponses: 10
    Dernier message: 20/09/2006, 13h37
  3. Réponses: 3
    Dernier message: 27/01/2006, 15h48
  4. Fenetre Action Macro "Executer Code" pour Module
    Par beurnoir dans le forum Access
    Réponses: 16
    Dernier message: 21/10/2005, 16h15
  5. Analyse de code HTML en réponse a une requête post.
    Par ghost942 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 04/06/2005, 21h40

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