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 :

[Service Windows & WinForms] Interface de contrôlé d'un service


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 38
    Points : 22
    Points
    22
    Par défaut [Service Windows & WinForms] Interface de contrôlé d'un service
    Bonjour à tous,

    j'ai développé un service windows qui tourne constamment, et qui effectue certains tâches en base de données de façon récurrente et j'aimerais pouvoir les suivre en temps réel dans une application WinForms que je lancerais quand bon me semblerait.
    Malheureusement, je n'ai pas de point de départ, je ne trouve pas d'indice sur le net, les résultats de mes recherches ne traitant à 99% que de services Web.

    Un avis, une recommandation, je prends tout !

    merci.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Jette un oeil sur ce que l'on appelle les Query Notification

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    ok, je vais jeter un oeil de ce côté.
    merci !
    un pas de plus vers le [Résolu] !

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Je dois apporter quelques précisions relatives à l'action de mon service.
    Mon service se connecte en fait à plusieurs bases DB2 et appelle sur chacune de ces bases des procédures stockées. Ces appels se font de façon synchronisée.
    Voici mon un sample de mon code :

    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
     
    listSites = GetSitesProperties();
    fcs = new SiteSynchonization [listSites.Count];
    ManualResetEvent[] doneEvents = new ManualResetEvent[listSites.Count];
    int i = 0;
    foreach (SiteSynchonization currentSite in fcs)
    {
    doneEvents[i] = new ManualResetEvent(false);
    currentSite.Step = Step.Synchro;
    currentSite.DoneEvent = doneEvents[i];
    currentSite.Mode = mode;
                                    ThreadPool.QueueUserWorkItem(currentSite.ThreadPoolCallback, i);
    i++;
    }
    WaitHandle.WaitAll(doneEvents);
    j'aimerais matérialiser ce type d'implémentation. Pour ce qui est du design j'ai ma petite idée, mais c'est plus dans le concept du dialogue avec le service.

    J'ai fait une recherche concernant les Query Notification et ça a l'air extra, mais les problèmes que je rencontre sont que les base de données sont sur des sites distants et surtout que je n'utilise pas SQL Server.

    une alternative Thomas Lebrun ?

  5. #5
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    des milliers de façon de faire ce que tu souhaites si j'ai bien compris ta demande.

    1) Tu peux faire des logs rotatifs qui contiendrait les infos à lire par l'ihm, ton service créerais ces logs, et ton ihm les copierais temporairement ailleurs pour les lires.

    2) Tu peux utiliser les sockets pour lire sur un port, en TCP/IP par exemple.
    Ton service li sur un port et lorsqu'il recoit une commande sur ce port il envois des données sur un autre port précis. Ton IHM se charge d'envoyer la commander et d'écouter sur le port où le service enverra les données.

    3) Tu peux utiliser une mémoire partagé dans laquelle le services mettrais à jour des infos, et l'iHM irais juste lire.

    4) Tu peux faire du WPF.

    5) Tu peux dire à ton service d'envoyer régulièrement des mails à une adresse précise. Ces mails contienne les infos dont tu as besoin.

    6) ....

    Bref c'est de la communication entre processus, il y a eu récement des sujet ouvert concernant cela, on y parle de tout cela, fait une petite recherche sur ce forum.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

Discussions similaires

  1. Winform et services windows.
    Par El-Diablo dans le forum Services Windows
    Réponses: 0
    Dernier message: 02/01/2012, 11h32
  2. Interface utilisateur et Service Window
    Par dalkar69 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 28/10/2009, 21h13
  3. Convertir winform en Service windows
    Par siimpatiico dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 30/04/2009, 02h10
  4. Service windows qui contrôle une BD
    Par amirad dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/02/2009, 08h57
  5. [Service Windows]demarrer app winforms comme Service windows
    Par Mehdi Feki dans le forum Général Dotnet
    Réponses: 10
    Dernier message: 26/08/2005, 16h18

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