Du skal tænke på at du med timeren har to tråde kørende. Den ene er timer-tråden, den anden er din "hoved"-tråd. Stopper hoved-tråden, stopper programmet. Med andre ord er du nødt til at holde tråden i gang. Det gøres fx. med en while-løkke. Hvis du laver winforms, så holdes UI-tråden kørende automatisk, så længe du ikke har lukket applikationen.
ok jeg forstår... mit konkrete problem er at jeg skal starte en timer fra Application_Start() i global.asax (asp.net), men det er som om at den aldrig stopper. Jeg kan ikke se nogle sider på mit domæne :-(
public class Global : HttpApplication{ private Timer timer;
public void Application_Start(Object sender, EventArgs e) { timer = new Timer(5000); timer.Elapsed+=new ElapsedEventHandler(OnTimedEvent); timer.Enabled=true; timer.AutoReset=true; System.Threading.Thread.CurrentThread.Suspend(); }
Du kan ikke starte sådan en service derfra. For det er ganske korrekt at den aldrig stopper, og du vil dermed låse hele dit website. Hvis det er det du vil, så må du lave en windowsservice der kører i baggrunden.
Hvis det er på en webserver som du ikke selv har kontrollen over, kan du ikke installere en Windows-service. Hvis det ikke er fra en webserver det skal køres, kan du bruge mit svar som var et korrekt svar på det indledende spørgsmål...
Hvad er det for noget kode du vil køre hvert minut? Mange typer kode behøver ikke blive kørt hvert minut, da men ofte kan finde en anden løsning...
ok det tolker jeg som at det ikke er praktisk muligt :-( det lyder ellers underligt at det ikke kan gøres sådan
Synes godt om
Ny brugerNybegynder
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.