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

Dotnet Discussion :

[WinForms]BackgroundWorker et BD


Sujet :

Dotnet

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9
    Par défaut [WinForms]BackgroundWorker et BD
    Bonjour,

    Je veux lancer une requête de recherche sur la BD. Cette opération est assez longue et probablement elle entrainera un Freeze de mon interface. Cette méthode se résume à ça « Order.SearchOrders() ».
    J’ai regardé le contrôle BackgroudWorker et j’ai vu qu’il est fait pour ça.
    Son utilisation est assez simple pour arrêter un traitement qui contient une boucle. Il suffit de tester à chaque itération l’état de la propriété CancellationPending et de faire e.Cancel = true et un break pour sortir de la boucle et arrêter le traitement.
    Or pour moi le traitement que j’invoque dans le DoWork se résume à une ligne de code « Order.SearchOrders() » et je ne vois comment je peux interrompre ce traitement .

    Merci d’avance.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 43
    Par défaut
    Salut,

    Tout dépend si ta méthode Order.SearchOrders() execute une boucle pour la recherche, à ce moment là il faudra que tu vérifies dans celle-ci l'état de la variable d'annulation du BackgroundWorker.

    Par contre si tu veux juste arréter le BackgroundWorker lorsque ton application se ferme tu n'as rien à faire car il s'arretera en même temps que le Thread principale de ton application.

    Greg

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9
    Par défaut
    Rebonjour,

    Non je n'ai pas de boucle sur ma méthode Orders.SearchOrders().
    En plus si j'en avais je ne me permetterai pas de vérifier l'état du BackGroudWorker dans cette méthode. Car la classe Orders fait partie de ma BLL (Buiseness Logic Layer) et je ne veux salir mon architecture en invoquant des composants de ma couche présentation.


    Alors quelqu'un à une idée comment arrêter la méthode
    "Orders.SearchOrders()" lorsque je fais un Cancel sur mon BackGroundWorker

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    Si t'as classe Order n'as pas de methode pour arreter sont traitement ben alors tu peu te brosser ... c'est comme arreter une voiture en descente a laquelle tu n'as pas donné de frein ...

Discussions similaires

  1. [VS.NET] [WinForms] [VB.NET] Créer un installeur
    Par Fruity dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/05/2008, 15h50
  2. [WinForms]BackgroundWorker et threads
    Par b4u dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 13/12/2006, 18h55
  3. [C#] [WinForms] Ascenceur du DataGrid !!!
    Par vandeyy dans le forum Windows Forms
    Réponses: 9
    Dernier message: 21/09/2004, 16h15
  4. [VB.NET] [WinForms] Emdebed Ressource !
    Par maitrebn dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/07/2004, 11h46
  5. [VB.NET] [Winform] DataGrid Excel et CheckBox
    Par mic56 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/06/2004, 15h10

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