Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#] Communication InterProcess

IPC

Sujet résolu
    12 mai 2011 à 3:37:29

    Bonjour les zéros!

    Alors voilà, j'ai une petite question pour vous. J'ai, dans le cadre de mon travail, à faire un petit programme de tâches automatisé. Il parcours des bases de données (configurer) et vérifie l’existence de tâches automatiques à exécuter.

    Tout est beau de ce côté. Mon problème viens du 2e exe que je doit faire. le principe du 2e programme(watchdog) est de vérifier que la tache automatique ne loop pas ou n'Est pas arreter depuis trop longtemps (disont 30 mins).

    Ma question est donc :
    Quel est le moyen de procédé? J'ai pensé à ceci :
    le 1er programme envoie un "ping" à chaque fin de tâches au watchdog, qui enregistre l'heure du ping. un timer vérifie l'heure du dernier ping, si ça fait 30 minutes, je fait les action nécessaires.

    D'après moi, ce ne devrait pas être bien compliquer à faire, mais je ne sais pas trop ou aller. Socket? NamedPipe? WCF?

    Les 2 exécutables seront sur la même machine, et idéalement ça ne devrait pas être trop lourd a implanté.
    Merci pour votre aide ^^
    • Partager sur Facebook
    • Partager sur Twitter
      13 mai 2011 à 11:20:57

      Pour mon projet de stage, j'ai dû faire communiquer une application Web et une application de service WCF en self-hosted.

      L'équivalent à l'ancien ".NET Remoting" (permettant de partager des objets .NET entre plusieurs processus notamment) est d'utiliser WCF avec, comme binding, le netNamedPipeBinding.

      C'est simple à mettre en oeuvre (ça utilise le concept WCF traditionnel => Une interface de contrat, des contrats de données, un point d'écoute et des clients qui consomment le service) et ça offre plein de trucs sympa sans trop rogner sur les performances, comme pourraient le faire d'autre méthodes de liaison prévue pour le réseau.
      • Partager sur Facebook
      • Partager sur Twitter
        16 mai 2011 à 14:40:13

        Merci Nisnor!

        Effectivement, le NetNamedPipeBinding semble être la meilleure approche.
        • Partager sur Facebook
        • Partager sur Twitter

        [C#] Communication InterProcess

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown