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

VB.NET Discussion :

Traitement en arrière-plan


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 237
    Par défaut Traitement en arrière-plan
    Bonjour à tous,

    Je souhaite développer une fonctionnalité dans mon application qui consiste à envoyer un rapport par email à un certain nombre de destinataires. Les données du rapport sont extraites d'une base de données SQL Server.

    Le traitement d'envoi doit être lancé en arrière-plan et quotidiennement à une heure précise sans aucune intervention humaine.

    J'ai recherché sur internet et j'ai trouvé la notion de BackgroundWorker (que je connaissais et utilisais). Toutefois, dans la majorité des cas elle est utilisé pour lancer une tâche en arrière plan sur une interface utilisateur ...

    Suis-je sur la bonne piste ?

    Je vous remercie d'avance pour vos idées/suggestions.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    À première vue, je pencherais plus pour utiliser un service. Mais, une fois rendu-là, je ne suis plus d'aucune utilité.

  3. #3
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Le traitement d'envoi doit être lancé en arrière-plan et quotidiennement à une heure précise sans aucune intervention humaine.
    Tu peux utiliser le plannificateur de tâches de Windows (Task Scheduler)

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Tu peux aussi utiliser la librairie Quartz .NET qui permet de créer des schedulers en C#.

    Autre possibilité, passer par Reporting Services par exemple, qui permet de gérer des abonnements aux rapports.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 237
    Par défaut
    Je vous remercie beaucoup tous pour vos réponses !

    La notion de service évoqué par clementmarcotte me semble répondre à mon besoin, mais ça nécessite que je creuse davantage.
    Je ne manque pas de regarder également les autres propositions.

    Je laisse la discussion ouverte ... pour partager avec vous la solution adoptée.

    Bonne journée à tous

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Hiraa Voir le message
    La notion de service évoqué par clementmarcotte me semble répondre à mon besoin, mais ça nécessite que je creuse davantage.
    A mon avis c'est celle qui répond le moins bien à ton besoin. En tout cas c'est la plus "complexe" à mettre en oeuvre, dans le sens où tu vas devoir développer ton propre scheduler au sein du service. Même si Quartz.NET simplifie la vie, c'est quand même une charge de travail.

    Tu es sur SQL Server, pourquoi ne pas utiliser Reporting Services ? Ca t'évite de réinventer la roue inutilement... Tu crées ton rapport (requête SQL), tu le déploies et tu n'as plus qu'à abonner tes utilisateurs. C'est à mon avis la meilleure solution : tu as juste à créer ta requête et mettre en forme ton rapport. Ensuite c'est juste de la configuration ==> 0 lignes de code.

    La solution de meziantou est aussi une bonne alternative : tu crées une appli console et tu utilises le planificateur des tâches de Windows pour la lancer. A chaque lancement, elle génère le rapport et l'envoie à qui de droit. Cependant, ça t'oblige à coder la mécanique de génération du rapport...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 237
    Par défaut
    Bonjour DotNetMatt,

    Avant tout, merci pour ces éclaircissements.

    En fait, je n'avais pas toute la connaissance pour pouvoir discerner laquelle des propositions répondra au mieux au besoin étant donné que je n'ai jamais utilisé aucune de ces technologies.

    Avec toutes ces pistes je n'aurai que l'embarras du choix

    Je vous remercie et je compléterai la discussion dès que je mets en place la fonctionnalité.

    Bon weekend.

Discussions similaires

  1. Traitement en arrière plan d'images
    Par smarties dans le forum Silverlight
    Réponses: 6
    Dernier message: 10/06/2011, 10h45
  2. [XL-2003] Cacher le traitement en arrière plan
    Par pitoumad dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/06/2010, 09h24
  3. comment stoper 1 thread d'arrière-plan
    Par ms91fr dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2003, 17h46
  4. changer l'image d'arrière plan du bureau
    Par etenclin dans le forum MFC
    Réponses: 7
    Dernier message: 22/08/2002, 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