Bonjour, et meilleurs vœux pour cette nouvelle année.
Je développe un service à l'aide de Visual Studio 2008, en VB.net.
Il s'agit d'un service qui exécute diverses actions sur lancement avec passage de paramètres. J'utilise pour celà, par le biais d'un formulaire tier également développé en VB.net, la classe ServiceController, qui me permet de lancer mon service en lui passant des arguments via un tableau ...
Mon service, avec un Select Case, fait des tests, et je souhaite renvoyer un code de sortie selon le résultat de mon test. Pour celà, j'utilise la procédure OnStop() du service.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Public ServiceAlias As New System.ServiceProcess.ServiceController TabArgs(0) = "verifie" TabArgs(1) = "quelquechose" ServiceAlias.MachineName = "." ServiceAlias.ServiceName = "Alias" ServiceAlias.Start(TabArgs)
Ma question est la suivante : comment faire pour obtenir ce code de sortie depuis mon application qui a lancé le service, sachant que la classe ServiceController n'inclut pas la propriété ExitCode ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Protected Overrides Sub OnStop() Me.ExitCode = 1250 End Sub
Pour information, lorsque je lance mon service à l'aide de SC, ça me retourne ceci :
---------------------
SERVICE_NAME: alias
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
PID : 1444
FLAGS :
---------------------
Je vous remercie par avance de vos réponses.
Partager