2010-12-03 4 views
13

Je suis curieux de savoir exactement comment la méthode Main() fonctionne dans un service Windows en ce qui concerne le Gestionnaire de contrôle des services. Quand est-il exécuté? Comment se connecte-t-il au système d'exploitation? Est-il exécuté lorsqu'un service est installé? Je sais qu'il est exécuté lorsque OnStart() est appelé par le SCM, OnStop() il est déjà en cours d'exécution, donc nous ne l'exécuterons plus.C# Windows Service Méthode principale

Si quelqu'un connaît beaucoup de choses sur ce domaine et peut élaborer je l'apprécierais.

Je suis un programmeur expeirenced, je n'ai pas besoin d'une description de ce que fait la méthode principale en général ... juste comment cela fonctionne en conjonction avec les services Windows. Lorsque vous utilisez l'applet du Panneau de configuration pour indiquer au service de démarrer le SCM lance le processus;

+0

Vous devez savoir que la méthode principale est "main" uniquement pour le compilateur, donc cela n'a rien à voir avec le démarrage des services Windows. –

Répondre

13

cela provoque l'exécution du code à l'intérieur de Main(). La ligne ServiceBase.Run() dans la méthode Main() connecte les services associés au SCM qui appelle ensuite la méthode OnStart() pour chacun des services spécifiés dans l'appel de méthode ServiceBase.Run().

+1

Que se passe-t-il si Main() renvoie une exception? L'applet du Panneau de configuration informe-t-il l'utilisateur que quelque chose s'est mal passé? – PaulK

Questions connexes