Bonjour,
Je suis nouveau sur ce forum. Je l'ai découvert par hasard. Je vois qu'il est actif. J'y viendrai plus souvent pour me tenir au courant pour parfaire mon apprentissage de C# et je répondrai à certaines questions que les gens se posent.
En ce moment, j'ai développé un serveur SOAP sous la forme d'un Windows Forms Application. Je suis à même d'écouter sur un port de communication, une transmission sécurisée sans aucun problème. Je démarre mon application avec l'aide d'un bouton « Démarrer » et je l'arrête avec un autre bouton « Arrêter ». Mon service est apte à rouler conformément à mes exigences, sans problème.
Afin d'améliorer celui-ci, je veux transformer mon application en service Windows. Ça donne l'avantage de rouler en arrière-plan et de démarrer dès que le poste redémarre. J'ai déjà expérimenté de nombreuses autres applications en service Windows. Malheureusement pour moi, j'ai un problème majeur. Le service écoute (j'ai fait un test), mais est incapable de récupérer le message SOAP envoyé.
En gros, j'utilise la classe HTTPListener. Afin de démarrer la capture du message entrant, j'utilise la méthode « BeginGetContext ». Je vous rappelle que je fais comme l'application qui fonctionne déjà admirablement ainsi. Normalement, il y a un déclencheur qui nous renverra vers une autre fonction de type « ListenerCallback ».
Je peux mettre le code essentiel au fonctionnement sans être spécifique à mes besoins de lecture du message.
Alors, contrairement à l'application Windows, le service Windows n'exécute rien à partir de ce moment. Il reste figé.
S'il y a une ou des personnes qui ont déjà expérimenté le même problème avec un HTTPListener à l'intérieur d'un service Windows, je peux répondre en mettant le code causant le problème. C'est pas très gros comme code au fond, mais c'est peut-être une cinquantaine de lignes environ. Je juge qu'à cette étape-ci, ça ne ferait qu'alourdir la discussion.
Passez tous une belle journée!
Partager