Bonjour à tous,

Je suis ammené à développer sous visual studio une solution de deux logiciel qui doivent communiquer ensemble:
Un premier (nommé "service") qui est lancé en service windows et qui fait tout un tas de truc.
Un deuxieme (nommé "application") en application qui fait aussi tout un tas de chose.

Je dois instauré une communication entre ces deux processus sachant que l'utilisateur ne garanti pas la longévité des deux solutions (elles peuvent s’arrêter et redémarrer n'importe quand).
La communication se fait que dans un sens: l'application envois des demandes au service pour effectué une tache sans attendre de retour.

J'ai commencé par implémenter une solution de NamedPipe mais je me rend compte que ce n'est pas adapté:
Le pipe se retrouve détruit si une application cesse.
Le pipe serait créer par l'application et le service se connecte dessus pour recevoir des données sauf que si l'application redémarre, le pipe se retrouve cassé et donc ne fonctionne plus.
Je ne peux pas non plus utiliser les socket car cela implique une connexion constante entre les deux solutions.

Je me demande donc quelle serait la meilleur solution, j'ai vu que l'on pouvait utiliser le fileMapping, est-ce une bonne solution? le problème que je vois avec cette solution est la file d'attente, il ne faut pas que le service exécute les actions en attente dans le fichier.

Je comptais d'abord utiliser un système de signaux sauf que je ne connais pas le pid du service, donc impossible d'envoyer un signal.

N'éxiste-t-il pas sous windows une solution toute simple pour envoyer un signal à un service windows afin qu'il effectue une tache périodique?

Toute aide est la bienvenue .