c # - Event Log ID 7039, så er tjenesten indstillet til at køre og stoppet tilstand. Men OnStart hedder aldrig

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en windows service oprettet med microsoft eksempel.


public MyService()
    {
        InitializeComponent();

    }

private void InitializeComponent()
    {
        this.eventLog1 = new System.Diagnostics.EventLog();
        ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).BeginInit();
        // 
        // eventLog1
        // 
        this.eventLog1.Log = "Application";
        this.eventLog1.Source = "MyService";
        // 
        // MyService
        // 
        this.CanHandlePowerEvent = true;
        this.CanHandleSessionChangeEvent = true;
        this.CanShutdown = true;
        this.ServiceName = "MyService";
        ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).EndInit();

    }

protected override void OnStart(string[] args)
    {
        try
        {

            eventLog1.WriteEntry("Initializing...");

            Init();
            ServiceConfig.Settings.Initialize("MyService");
            eventLog1.WriteEntry("Starting...");

            //do some stuff

            eventLog1.WriteEntry("Started");

        }
        catch (Exception ex)
        {
            eventLog1.WriteEntry("Error:" + ex.Message);
        }
        finally
        {
            base.OnStart(args);
        }
    }


Denne Windows-tjeneste er konfigureret til at starte automatisk, når Windows starter.
Alt fungerer fint næsten overalt og næsten altid, men det sker, at denne service sjældent starter når OS starter.
I disse tilfælde finder jeg altid den samme situation på hændelsesloggen.
I applikationsloggen har jeg intet, og i systemloggen har jeg først begivenheds-id 7039, end begivenheds-id 7036 med 'MyService er i kørestatus' og samtidig, men efter er et andet begivenheds-id 7036 med 'MyService' holdt op'.


I stedet, når alt fungerer fint, har jeg kun 'MyService er i kørestatus' på System Log med en tid, der kommer efter alle applikationens log jeg skriver, og som du kan se i koden.


Så min mening er, at det i disse tilfælde ikke virker, tjenesten er aldrig startet af Service Control Manager, OnStart-metoden hedder ikke.
Så det kunne være OS'ens fejl.
Hvad er dine meninger?
Tak!

Bedste reference