[.net] Design de service windows

Je développes actuellement un service permettant de monitorer et de controler mon onduleur (via port série), le protocole de la chose étant non-standard et non supportée par Windows.

Merci .net 2.0, la communication vers le port COM est on ne peut plus simple, et le service permet pour le moment de faire des choses basiques comme mettre le PC en hibernation en cas de coupure secteur (avec timeout), et de logguer régulièrement l’état de la bete dans un fichier. (Si z’etes interressés par le source, hesitez pas).

J’en viens aux questions qui ne sont pas propre a ce cas particulier, mais qui peuvent concerner tout développement de services windows.

  1. J’ai ici besoin de communiquer a l’éventuel utilisateur loggué sur le systeme le fait que le PC va se mettre en hibernation. Or le service ne peux interragir directement avec l’utilisateur (enfin, si, il peux, mais c’est pas propre). Donc comment faire ? (Je crois que le Security Center crée un nouveau process dans le contexte utilisateur pour ses avertissement , Ai-je bon ? Si oui, comment qu’il fait ?)

  2. J’aimerais faire une application client, permettant de configurer le service, et permettre de visualiser en direct l’état de l’onduleur (le service étant déja en train d’utiliser le port, il me faut forcément passer par lui). Question : quel est le moyen de communication préconisé dans ce cas ? Remoting ? TCP ?