service windows s'arrête et démarre immédiatement, mais il ne devrait pas

Je suis de la création d'un service windows et après l'installation du service, il s'arrête et commence immédiatement, mais il ne devrait pas être. Auparavant, j'ai été faire les erreurs que le service ne répond pas à la commande de démarrage, en temps opportun, alors j'ai pris le code d'initialisation et de les mettre dans un thread, et maintenant je suis ici:

protected override void OnStart(string[] args)
{
    this.EventLog.WriteEntry("ATNotifier Started");

    ThreadPool.QueueUserWorkItem(WaitOnEmailsChanged);
    ThreadPool.QueueUserWorkItem(Init, "IP");
}

La waitonemailschanged thread crée simplement un filesystemwatcher à regarder pour voir si le fichier de paramètres (document xml) est changé, et les charges dans les données de ce fichier, si ce qui se passe. Pour le moment, c'est juste attend indéfiniment (ce qui est le cas général, qui ne sera changé quelques fois dans l'année), aucun des modifications sont apportées au document xml.

L'Init thread fait toutes sortes de choses, y compris la création et le démarrage d'un Système.Les minuteries.Objet Timer dont Écoulé méthode est la viande du service.

Je ne comprends pas pourquoi il faudrait commencer puis d'arrêter immédiatement. Je tiens également à noter que l'eventviewer montre pas de journaux à partir de cette application.

edit> j'ai essayé de créer " bon " fils, avec les mêmes résultats, et j'ai supprimé tout sauf la création et le démarrage de la minuterie comme suit:

protected override void OnStart(string[] args)
{
    this.EventLog.WriteEntry("ATNotifier Started");

    m_Timer = new System.Timers.Timer(90000.0); //1.5 mins
    m_Timer.Elapsed += new ElapsedEventHandler(m_Timer_Elapsed);

    m_Timer.Start();
}

et je suis toujours le même message. C'est presque comme si le Démarrage n'est jamais appelé.

OriginalL'auteur Steven Evers | 2009-02-17