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 :

BackgroundWorker pour différents travaux


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut BackgroundWorker pour différents travaux
    Bonjour,
    Voici mon deuxième jour de programmation Visual C# et je me pose la question pour une application WinForm: quel est choix ais-je plutôt que de créer un BackgroundWorker diffèrent pour chaque option de mon menu nécessitant un temps de traitement long.
    En effet, j'ai plusieurs options qui font des requêtes de base de donnée très longues à exécuter. Je me demande s'il est bon d'associer chaque option de menu à un nouveau BackgroundWorker, cela peut vite devenir confus.

    Merci de vos conseils (et exemple si possible)

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Je dirais qu'il n'y a pas de raison que cela soit confus.

    Personnellement, je n'aime pas trop placer mes composants BackgroundWorker sur le design de ma form, je préfère tout faire par code sur ce point mais j'avoue que j'utilise rarement la fonctionnalité de Cancel des backgroundworkers.

    Ensuite il s'agit pour moi uniquement de bien organiser le code en se servant par exemple des régions ou à l'extrême utiliser les partial class pour isoler dans un fichier tous les traitements relatifs à un point précis (j'utilise les partial class surtout quand le nombre de ligne commence à être important).

    Dans ton cas, tu peux créer une partial class pour chaque menuitem (enfin les plus gros).

  3. #3
    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
    avoir plusieurs un thread par traitement sera souvent plus rapide qu'un thread pour tous les traitements, il y a de plus en plus de core sur un processeur

    après si tu mets plein de backgroundworker sur ton form c'est sur que c'est pas l'idéal niveau propreté du code
    le mieux étant d'avoir un classe pour chaque type de chose, et par exemple d'y inclure une sub d'init qui démarre un thread

    on y perd l'avantage du backgroundworker qui encapsule 2 ou 3 trucs sympa, mais qui au final ne représentent que quelques lignes de code
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Personnellement, je n'aime pas trop placer mes composants BackgroundWorker sur le design de ma form, je préfère tout faire par code
    +1, on peut même develloper une petite fonction générique de création d'un backgroundworker à laquelle on passe la fonction de traitement à appeler.

  5. #5
    Membre averti
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut Merci
    Cool, merci de vos réponses

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

Discussions similaires

  1. bouton recherche pour différents critères
    Par bisounours31 dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/05/2007, 21h33
  2. Un libellé pour différents jours
    Par gastoncs dans le forum WinDev
    Réponses: 2
    Dernier message: 16/03/2007, 11h09
  3. un texte pour différentes heures.
    Par gastoncs dans le forum VB.NET
    Réponses: 3
    Dernier message: 09/02/2007, 21h03
  4. [Checkstyle] [Maven] 1 seul fichier checkstyle.xml pour différents projets
    Par kalan dans le forum Qualimétrie
    Réponses: 9
    Dernier message: 26/09/2006, 10h11
  5. Réponses: 4
    Dernier message: 07/03/2006, 15h54

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