Pourquoi mon .NET service Windows démarre pas automatiquement, parfois?

J'ai modifié un travail de service Windows, qui avait toujours été de commencer à l'avance. Après l'ajout du Système.De référence de la gestion, il peut ne pas démarrer automatiquement. J'obtiens l'erreur suivante:

Service ne peut pas être démarré.
Système.Moment de l'exécution.InteropServices.COMException
(0x80010002): Appel a été annulé par le
filtre de message. (Exception de
HRESULT: 0x80010002
(RPC_E_CALL_CANCELED))

J'ai trouvé un autre post ici sur avec quelqu'un ayant le même problème.

Pourquoi ne pas en faire mon .Net service Windows démarrer automatiquement après un redémarrage?

Toutefois, la solution proposée a été d'avoir le service de démarrer après les services qu'il dépend de l'avoir commencé. Cependant, lorsque je vais dans l'onglet Dépendances pour mon service, je vois:

Pourquoi mon .NET service Windows démarre pas automatiquement, parfois?

Devrais-je utiliser la solution de contournement de la méthode de la mise de la mise en veille du thread, ou est-il un plus bonne façon d'obtenir ce service démarre correctement? Est ce que cela se passe parce que .NET n'a pas commencé avant mon service commence?

Merci,

Tomek

EDIT: j'ai ajouté une instruction try-catch pour intercepter l'exception. Voici le code que j'ai ajouté à la OnStart() la méthode de mon service (qui est l'endroit où l'exception est levée)

        try
        {
            _watcher = new ManagementEventWatcher(query);
            _watcher.EventArrived += new EventArrivedEventHandler(watcher_EventArrived);
            _watcher.Start();  
        }
        catch (Exception ex)
        {
            EventLog.WriteEntry("Could not create Sleep/Resume watcher" + ex.Message);
        }

Le service ne démarre maintenant, mais sans les fonctionnalités que j'ai ajouté. Je suis nouvelle dans .NET, mais j'ai pris l'observateur de code à partir d'un échantillon que j'ai trouvé en ligne, donc je suis assez sûr qu'il est correct. Le Journal des Événements affiche la même exception:

N'a pas pu créer de Sommeil/Reprendre l'observateur d'Appel a été annulé par le filtre de message. (Exception de HRESULT: 0x80010002 (RPC_E_CALL_CANCELED))

Vous pouvez également essayer de poster votre question sur ServerFault.com
Puisque vous avez maintenant utiliser WMI, vous devriez probablement attendre le Service Windows Management Instrumentation pour commencer. Essayez de l'ajouter à des services dépendants sur le temps d'installation.

OriginalL'auteur Tomek | 2010-03-08