none
Demande de conseil avant d'attaquer projet backgroundworker RRS feed

  • Question

  • J'aimerais vous demander conseil avant de m'embarquer dans ce projet!

    Le but

    Je dois ramener depuis une api web des informations sur les films présents sur l'ordinateur de l'utilisateur.

    Il y aura les titres qui ne posent pas de problèmes et qui seront ajouté directement
    ...et puis il y a ceux sur lesquels il y a un doute concernant le titre et où l'utilisateur devra intervenir pour choisir parmi une liste de proposition.

    Les nécessités

    Je voudrais que la recherche puisse se faire dans un backgroundworker pour, notamment, qu'une barre de progression et l'affichage du titre courant soient alimentés.
    Quand il y a demande d'intervention de l'utilisateur, la liste des propositions est affichée dans un listview, dans l'interface principale.

    Mon problème (et l'objet de ma question)

    Comment dois-je m'y prendre pour que le backgroundworker (une boucle qui scanne tous les films présents et essaie de trouver une analogie avec la base de donnée WEB)
    se mette en 'pause' d'une certaine façon, que les propositions soient affichées dans le listview (qui est sur le thread principal), que l'utilisateur puisse cliquer sur une des propositions
    et que cette proposition soit retournée au backgroundworker ?

    Il se peut que mon approche ne soit pas la bonne..et c'est aussi l'objet de ma demande de conseil! ;-)

    Merci pour toute l'aide que vous voudrez bien me donner!!
    vendredi 23 octobre 2015 12:51

Réponses

Toutes les réponses

  • Bonjour,

    Personnellement, j'utiliserais plutôt la feature Await/Async qui a été introduite dans le Framework plutôt qu'un backgroundworker. L'avantage est surtout que le code devient plus simple à suivre et à écrire. Bien entendu, il faut d'abord comprendre le principe. Mais c'est un investissement en apprentissage qui n'est certainement pas perdu.

    Voici un lien vers la document officielle : Asynchronous Programming with Async and Await (C# and Visual Basic)

    samedi 24 octobre 2015 17:20
  • Tout à fait d'accord avec V Hellin.

    L'utilisation du BackgroundWorker date du Framework 1.0 (années 2002) donc une éternité en informatique.

    Avec Await/Async vous ferez 100 fois mieux en 100 fois moins de temps.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    lundi 26 octobre 2015 06:53
  • Merci pour vos éléments de réponse;

    Le problème est que je dois rester dans le Framework 4 pour un question de compatibilité avec des systèmes sous Windows XP!

    Donc, je fais toujours appel à vous en ajoutant cette "condition": le développement devant se faire sous Framework 4.

    Merci pour votre aide!

    vendredi 6 novembre 2015 17:22