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 :

[résolu]Back ground Worker


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 58
    Par défaut [résolu]Back ground Worker
    Salut les amis,

    Je souhaite savoir votre avis pour l'utilsation des BGW.

    En fait pour n'est pas bloqué l'IHM, j'ai basé mon application sur BGW

    Pourrez-vous me dire en se basent sur mon bout de code si c'est c'est la bonne technique pour utiliser le BWG pour plusieurs taches ?
    Avez-vous des recommandation sur l'utilisation des BGW ?

    Merci d'avance

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    private void bw_DoWork(object sender, DoWorkEventArgs e)
            {
                // Run d'une commande USSD
                //~~~~~~~~~~~~~~~~~~~~~~~~
                if (strNomTache == "USSD")
                {
                    FCT_EnvoiCmdUssd(strCmdUssd);
                }
                // Envoi d'un SMS de test
                //~~~~~~~~~~~~~~~~~~~~~~~
                else if (strNomTache == "SMS")
                {
                    FCT_EnvoiMessage(strCmdShellSendSms);
                }
                // Récupération information Modem GSM
                //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                else if (strNomTache == "MODEM_INFOS")
                {
                    FCT_Recuperation_InformationModem();
                }
                // Exécution d'une commande shell
                //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                else if (strNomTache == "SHELL_LINUX")
                {
                    FCT_CmdLinuxShell(strCmdShellLinux);
                }
                // Importation configuration users
                //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                else if (strNomTache == "DOWNLOAD_USER")
                {
                    FCT_DownloadUsers();
                }
                // Exportation données vers le SXFDR33
                //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                else if (strNomTache == "UPLOAD_USER")
                {
                    FCT_UploadUsers();
                }
     
            }

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    non il y a mieux, mais il faudrait en savoir plus sur le code
    tu veux pouvoir faire plusieurs tâche en même temps ? plusieurs à la suite ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 58
    Par défaut
    Salut,

    Merci pour votre réponse, désolé pour ma réponse tardive.

    Alors,

    Voici plus d'info:

    Click sur mon bouton GO pour chaque tache
    - Remplissage du tache dans la variable strNomTache
    - Lock pour les autres boutons
    - Je lance le BGW DoWork

    Si c'est possible de faire autre je suis intéresse, notamment si c'est possible de lancer des multi taches même temps ...
    A savoir au final mon code c'est un client SSH pour un système embarqué (basé sur un OS Linux)

    Merci d'avance

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    pour plusieurs tâches en même temps il faut plusieurs backgroundworker
    pour plusieurs tâches à la suite il faudrait un queue<T> thread safe (ca se code)
    le mieux après c'est de créer une classe Tâche qui demande en paramètre un Action
    comme ca tu peux coder ce que tu veux comme méthode anonyme ou non, instancier la tâche en lui donnant la méthode à appeler, et la classe Tâche démarre un bgw (ou un thread)

    après tu mettre quelques propriétés de progression/fin sur la tâche, ce qui permet de garder une référence sur la tâche pour de l'affichage sur la fenêtre
    et après une méthode static sur Tâche qui permet de faire du report progress, la classe tâche sachant alors quel thread est lié à quelle tâche pour la retrouver ^^ enfin là je vais un peu plus loin
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 58
    Par défaut
    Merci pour votre temps / tes remarques

    Alors je vais regarder dans ce sens

    Je passe le post en résolu du coup

    @++

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/05/2007, 12h14
  2. Bug GetDlgItemText résolu à lire ...
    Par sziklai dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 27/07/2004, 13h06
  3. [Debutant]Back up et restore
    Par christophebmx dans le forum Administration
    Réponses: 2
    Dernier message: 22/05/2004, 15h53
  4. Merci de penser au tag [Résolu] SVP
    Par grafikm_fr dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 02/05/2004, 13h13

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