OVH Cloud OVH Cloud

Création d'un service

4 réponses
Avatar
Fabian Vilers
Bonjour à tous,

J'ai créé un service windows. Lorsqu'il démarre, je traite plusieurs données
de configuration. Si l'une d'elles est mal formatée, je souhaite arreter
immédiatement le démarrage du service et informer du problème.

Malheureusement, je ne trouve pas comment :-(

4 réponses

Avatar
Delf
Fabian Vilers wrote:

J'ai créé un service windows. Lorsqu'il démarre, je traite plusieurs données
de configuration. Si l'une d'elles est mal formatée, je souhaite arreter
immédiatement le démarrage du service et informer du problème.



Malheureusement, je ne trouve pas comment :-(



Tiens, moi aussi j'ai été confronté à ce problème. Mon service analyse
un fichier XML de configuration. Apparemment, je sais pas si un service
qui démarre peut s'arréter en le 'coupant' dans son OnStart().

J'avais pensé à un thread avec un Sleep() + fermeture... jamais essayé.

--
Delf
Avatar
Zoury
Bonjour messieurs ! :O)

Je ne l'ai jamais fait, mais il semblerait qu'il est possible d'y parvenir
en déclanchant un timer dans le OnStart et, lors de l'exécution du timer,
stopper l'exécution du service par le biais d'un ServiceController.

comme ceci j'imagine (non testé) :
'***
Dim sc As New ServiceController(Me.ServiceName)
sc.Stop()
'***

--
Cordialement
Yanick
MVP pour Visual Basic

"Delf" a écrit dans le message de
news:42d76d84$0$12596$
Fabian Vilers wrote:

> J'ai créé un service windows. Lorsqu'il démarre, je traite plusieurs


données
> de configuration. Si l'une d'elles est mal formatée, je souhaite arreter
> immédiatement le démarrage du service et informer du problème.

> Malheureusement, je ne trouve pas comment :-(

Tiens, moi aussi j'ai été confronté à ce problème. Mon service analyse
un fichier XML de configuration. Apparemment, je sais pas si un service
qui démarre peut s'arréter en le 'coupant' dans son OnStart().

J'avais pensé à un thread avec un Sleep() + fermeture... jamais essayé.

--
Delf


Avatar
P. RICHARDOT
Après mure réflexion, Zoury a écrit :
Bonjour messieurs ! :O)

Je ne l'ai jamais fait, mais il semblerait qu'il est possible d'y parvenir
en déclanchant un timer dans le OnStart et, lors de l'exécution du timer,
stopper l'exécution du service par le biais d'un ServiceController.

comme ceci j'imagine (non testé) :
'***
Dim sc As New ServiceController(Me.ServiceName)
sc.Stop()
'***

--
Cordialement
Yanick
MVP pour Visual Basic

"Delf" a écrit dans le message de
news:42d76d84$0$12596$
Fabian Vilers wrote:

J'ai créé un service windows. Lorsqu'il démarre, je traite plusieurs
données de configuration. Si l'une d'elles est mal formatée, je souhaite
arreter immédiatement le démarrage du service et informer du problème.
Malheureusement, je ne trouve pas comment :-(



Tiens, moi aussi j'ai été confronté à ce problème. Mon service analyse
un fichier XML de configuration. Apparemment, je sais pas si un service
qui démarre peut s'arréter en le 'coupant' dans son OnStart().

J'avais pensé à un thread avec un Sleep() + fermeture... jamais essayé.

--
Delf





Salut,

je me suis pas encore penché sur les service en .net,
par contre pour ce qui est de prévenir qu il y a des problemes la
solution élégante est de balancer ca dans l'"eventlog".

Patrick

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Avatar
Zoury
Salut Patrick ! :O)

je me suis pas encore penché sur les service en .net,
par contre pour ce qui est de prévenir qu il y a des problemes la
solution élégante est de balancer ca dans l'"eventlog".



Bon point. Comme ça au moins l'utilisateur peut savoir pourquoi le service
refuse de démarrer. Voir la classe EventLog dans la MSDN pour plus de détail
(ils offrent un exemple).

--
Cordialement
Yanick
MVP pour Visual Basic