Avatar billede kovboyjder Nybegynder
10. maj 2010 - 23:26 Der er 3 kommentarer og
1 løsning

Windows Service threading

Hejsa.

Jeg forsøger at programmere en windows service, som skal eksekvere noget kode engang hvert 10. minut.

Jeg tror at threading er min løsning, men er ikke helt skarp i det.

Som jeg har forstået det så skal jeg i min onStart metode oprette en thread, som kalder min metode jeg benytter. Dette har jeg fået gjort. Men jeg er i tvivl om hvordan jeg kan få min thread til at "sove"

Thread.Sleep() kan jeg ikke bruge, da det er en backgroundworker jeg benytter.

Dette er min kode indtil nu.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading;

namespace WindowsService 1
{
    public partial class Migit: ServiceBase
    {
        Thread oThread = new Thread(new ThreadStart(FileMove.Search));
        public Migit()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            StartThread();
        }

        protected override void OnStop()
        {
            oThread.Abort();
        }

        void StartThread()
        {
            Thread oThread = new Thread(new ThreadStart(FileMove.Search));
            oThread.Start();

            while (!oThread.IsAlive) ;
            Thread.Sleep(1);
        }
    }
}

Håber der er nogen der kan hjælpe
Avatar billede arne_v Ekspert
11. maj 2010 - 03:16 #1
Grundliggende mener jeg at du har 2 muligheder:
1) Lad din tråd metode køre i en uendelig løkke med en Thread.Sleep(10000) og bare lad din OnStart metode afslutte.
2) Drop din egne separate tråd og brug en Timer.
Avatar billede arne_v Ekspert
11. maj 2010 - 03:17 #2
Avatar billede kovboyjder Nybegynder
16. maj 2010 - 21:23 #3
Hej Arne,

Jeg brugte en timer istedet. smid et svar, så skal du få dine point :-)

Tak for hjælpen
Avatar billede arne_v Ekspert
16. maj 2010 - 21:58 #4
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester