.net - Windows Service Start og Stop C #

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har udviklet en windows service til at få fingeraftryk tilstedeværelsesdata fra en fingeraftryksmaskine gang til gang ved at bruge en tråd og indsætte i ms SQL database. Når jeg kører tjenesten i min lokale computer, fungerer det fint, men når jeg installerer og kører det i server 2012 starter tjenesten og stopper. Få hjælp til mig.


    protected override void OnStart(string[] args)
    {
        new LogManagement().WriteToLog("Service Started -" + DateTime.Now);
        new LogManagement().WriteToLog("Thread Started" + DateTime.Now);
        RunThread();
    }
    protected override void OnStop()
    {
        new LogManagement().WriteToLog("Service Stopped -" + DateTime.Now);
    }
    public void RunThread()
    {
        Thread thread = new Thread(new ThreadStart(DeviceChecker));
        thread.IsBackground = true;
        thread.Name = "DeviceCheckingThread";
        thread.Start();
    }
    private void DeviceChecker()
    {
        //Process reading data and insert into database
        Thread.Sleep(10000);
    }

Bedste reference


Kig på dette gennemgang. [4]


Jeg tror, ​​du skal kalde SetServiceStatus metode (fra advapi32.dll) inde i din OnStart metode, eller Service Control Manager lukker din tjeneste nede, hvis det tager lang tid at starte.