Служба Windows, запуск и остановка C # - PullRequest
0 голосов
/ 22 мая 2018

Я разработал службу Windows, которая время от времени получает данные о посещаемости отпечатков пальцев с машины для снятия отпечатков пальцев, используя поток и вставляя их в базу данных MS SQL.Когда я запускаю службу на локальном компьютере, она работает нормально, но когда я устанавливаю и запускаю ее на сервере 2012, служба запускается, а затем останавливается. Пожалуйста, помогите мне.

    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);
    }

1 Ответ

0 голосов
/ 22 мая 2018

Посмотрите на это пошаговое руководство .

Я думаю, вам нужно вызвать метод SetServiceStatus (из advapi32.dll) внутри вашего OnStart метода, или диспетчер управления службамивыключите службу, если это займет много времени для запуска.

...